我的應用程序需要互聯網連接才能檢索經度和緯度。如果手機的網絡已關閉,如何在應用程序的開始處顯示一個彈出框?彈出框應該這樣說:如何在OnCreate中自動打開網絡?
您的網絡已禁用,現在啓用?
在此文本下方將放置一個按鈕,其中顯示「OK」,當用戶按下此按鈕時,WiFi或移動網絡將打開。
在此先感謝
我的應用程序需要互聯網連接才能檢索經度和緯度。如果手機的網絡已關閉,如何在應用程序的開始處顯示一個彈出框?彈出框應該這樣說:如何在OnCreate中自動打開網絡?
您的網絡已禁用,現在啓用?
在此文本下方將放置一個按鈕,其中顯示「OK」,當用戶按下此按鈕時,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)設置的意圖,他們告訴你,有時這種活動可能不存在:
活動操作:顯示設置以允許配置諸如Wi-Fi,藍牙和移動網絡之類的無線控制器 。在某些情況下, 匹配的活動可能不存在,因此請確保您的安全性不會受到 的影響。
你有什麼想法_「你保護這個」嗎? – 2013-11-16 11:18:48
是不是顯示Toast並讓用戶打開網絡的最佳選擇? – kosa 2012-03-02 16:38:47