我的應用程序需要根據內部計算的某個時間間隔來查找當前位置。它每次都會有所不同。在當前位置檢查互聯網和GPS都關閉時,它應該向用戶顯示一個警報,並將用戶帶到設置頁面。一旦用戶打開GPS,它應該再次調用檢查當前位置的方法。 但有什麼辦法可以讓我們觸發用戶在進入設置頁面後實際打開了GPS?如何在android中以編程方式更改系統設置?
0
A
回答
0
在LocationListener
你有onProviderDisabled
和onProviderEnabled
這應該做你想做的。
0
我最近不得不做這個EXACT相同的任務(當用戶把他們的LOCATION設置爲ON時,用一些代碼做出響應),並且我得到了奇妙的效果(儘管與其他用戶的回答方式不同) - 儘管他們的方法也可以工作..但大致根據我的方法,在您的情況下,我只需使用Intent
在Java代碼中即時註冊BroadcastListener
(需要時)。
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
和(假設你已經在這種或那種方式註冊的BroadcastReceiver
的話),東西沿着這些線路:裸記住,你會使用類似需要爲相應的permission
註冊通過您Manifest.xml
文件將被放置在你的接收機:
// START OF onReceive METHOD FOR RECEIVER
@Override
public void onReceive(Context context, Intent intent) {
boolean isGpsEnabled;
boolean isNetworkEnabled;
LocationManager locationManager = (LocationManager) context.getSystemService(Context.LOCATION_SERVICE);
isGpsEnabled = locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER);
isNetworkEnabled = locationManager.isProviderEnabled(LocationManager.NETWORK_PROVIDER);
// PRIMARY RECEIVER RESPONSE (FOR "PROVIDERS_CHANGED" INTENT-FILTER)
if (intent.getAction().matches("android.location.PROVIDERS_CHANGED")) {
Toast.makeText(context, "GPS Enabled: " + isGpsEnabled + " NetworkLocation Enabled: " + isNetworkEnabled, Toast.LENGTH_LONG).show();
// START ANOTHER ACTIVITY WHEN GPS IS ENABLED IF YOU WANT
if (isGpsEnabled) {
Intent startNextActivity = new Intent(context, YourNextActivity.class);
// THIS IS NEEDED IF CALLING ACTIVITY FROM OUTSIDE ACTIVITY
startNextActivity.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(startNextActivity);
}
}
}
希望這可以幫助你!
祝福,快樂的編碼!
相關問題
- 1. 以編程方式更改系統網絡(代理)設置
- 2. 如何以編程方式設置系統時間android?
- 3. 以編程方式更改系統語言 - Android
- 4. 以編程方式更改Android系統字體
- 5. 如何以編程方式更改系統時區
- 6. 如何以編程方式更改Windows系統時間?
- 7. 更改IE設置以編程方式
- 8. Android:如何以編程方式更新系統包
- 9. iphone - 以編程方式設置(系統範圍)代理設置?
- 10. 如何在Android中以編程方式打開/更改Google Ads退出設置?
- 11. 以編程方式更改系統設置或鏈接到它們?
- 12. 如何以編程方式更改ACRA'交互模式'設置
- 13. 如何在Android中以編程方式設置樣式屬性?
- 14. 如何更改遠程系統的系統日期編程方式
- 15. 以編程方式更改Android的Web瀏覽器設置
- 16. Android Widget以編程方式更改remoteView設置
- 17. 以編程方式更改Android adb調試設置從恢復
- 18. 如何以編程方式更改設備ID(Android ID)
- 19. 更改應用程序中設置更改的系統設置
- 20. 如何以編程方式更改相機默認設置
- 21. 如何以編程方式更改BIOS時間設置?
- 22. 如何以編程方式更改PC連接設置?
- 23. 如何以編程方式更改iPhone設置
- 24. 如何以編程方式更改Dock偏好設置?
- 25. 想要在android中以編程方式更改gps或位置服務設置?
- 26. 如何在android中以編程方式更改編輯文本的位置?
- 27. 以編程方式在Android中更改設備名稱
- 28. 以編程方式設置Android樣式
- 29. 以編程方式更改Android設備的輸入方法android
- 30. 如何以編程方式確定系統設備聲音設置?