0
在我的應用程序中,用戶必須至少啓用一個位置提供程序。爲了知道如果啓用我用:只有在Android中至少啓用了一個位置驗證器時才允許輸入應用程序
isGpsLocationEnabled = ((LocationManager) getSystemService(LOCATION_SERVICE))
.isProviderEnabled(LocationManager.GPS_PROVIDER);
isNetworkLocationEnabled = ((LocationManager) getSystemService(LOCATION_SERVICE))
.isProviderEnabled(LocationManager.NETWORK_PROVIDER);
現在,我創建了一個活動:提醒沒有被啓用,如果用戶選擇「啓用GPS」我打開與ACTION_LOCATION_SOURCE_SETTINGS意圖GPS選項。
我想(選擇用戶後)檢查他是否啓用了一個,並且只有讓他繼續,如果他這樣做。
我有按鈕,在「啓用GPS」
showGpsOptions();
isGpsLocationEnabled = ((LocationManager) getSystemService(LOCATION_SERVICE))
.isProviderEnabled(LocationManager.GPS_PROVIDER);
isNetworkLocationEnabled = ((LocationManager) getSystemService(LOCATION_SERVICE))
.isProviderEnabled(LocationManager.NETWORK_PROVIDER);
if (isGpsLocationEnabled || isNetworkLocationEnabled){
Intent startIntent = new Intent(EnableLocationProviderActivity.this, SensingService.class);
startService(startIntent);
} else {
finish();
}
我的問題是isGpsLocationEnabled和isNetworkLocationEnabled永遠不會與在網絡設置中用戶選擇的代碼繼續showGpsOptions後,其執行更新的代碼() (我知道它不能阻止UI線程,但我怎麼能超越這種情況)?
有沒有辦法在用戶選擇網絡設置中的某些內容後執行代碼?
謝謝!吉列爾莫。
您可以隨時在後臺運行一個線程(接收器,服務,線程),它將檢查情況並運行代碼。 – MKJParekh 2012-02-29 05:27:30