我的应用需要互联网连接才能检索经度和纬度。如果手机网络关闭,如何在应用程序开头显示弹出框?弹出框应该是这样的:
您的网络已停用,现在启用?
在此文本下方将放置一个按钮,显示“OK”,当用户按此按钮时,将打开WiFi或移动网络。
提前致谢
答案 0 :(得分:2)
您不应该为您的用户自动开启WiFi,我不确定移动网络是否可以实现。
这是一个示例代码,它在onCreate方法的末尾创建一个AlertDialog,并将其显示给用户。如果用户想要启用它,他将被转发到Android无线设置屏幕,在那里他可以手动启用WiFi连接。
如果他点击取消,应用程序将退出。但是,您可以根据自己的喜好对此行为进行建模,这只是我完成此特定任务的一个示例。
@Override
public void onCreate(final Bundle savedInstanceState) {
// your code
new AlertDialog.Builder(this)
.setMessage("Your network is disabled, enable now?")
.setTitle("Alert")
.setCancelable(false)
.setPositiveButton(android.R.string.ok,
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
// launch settings
Intent settings = new Intent(android.provider.Settings.ACTION_WIRELESS_SETTINGS);
startActivity(settings);
}
})
.setNegativeButton(android.R.string.cancel,
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
dialog.dismiss();
// finish activity
finish();
}
})
.show();
}
修改强>
只需针对Android开发人员文档(http://developer.android.com/reference/android/provider/Settings.html#ACTION_WIRELESS_SETTINGS)仔细检查设置意图,他们会建议您有时此活动可能不存在:
活动操作:显示允许配置无线的设置 控制,如Wi-Fi,蓝牙和移动网络。在某些情况下, 匹配的活动可能不存在,因此请确保您的安全 此