如何在OnCreate中自动打开网络?

时间:2012-03-02 16:30:31

标签: java android

我的应用需要互联网连接才能检索经度和纬度。如果手机网络关闭,如何在应用程序开头显示弹出框?弹出框应该是这样的:

  

您的网络已停用,现在启用?

在此文本下方将放置一个按钮,显示“OK”,当用户按此按钮时,将打开WiFi或移动网络。

提前致谢

1 个答案:

答案 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,蓝牙和移动网络。在某些情况下,   匹配的活动可能不存在,因此请确保您的安全   此