我的应用程序需要互联网连接才能检索经度和纬度。如果手机网络关闭,如何在应用程序开头显示弹出框?弹出框应该显示如下内容:
Your network is disable, enable now?
在此文本下方将放置一个按钮,显示“确定”,当用户按下此按钮时,WiFi 或移动网络将打开。
提前致谢
最佳答案
您不应该自动为您的用户打开 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 ) 仔细检查了设置 Intent ,他们建议您有时此 Activity 可能不存在:
Activity Action: Show settings to allow configuration of wireless controls such as Wi-Fi, Bluetooth and Mobile networks. In some cases, a matching Activity may not exist, so ensure you safeguard against this.
关于java - 如何在OnCreate中自动打开网络?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9536828/