簡體   English   中英

用戶啟用位置服務后如何獲得通知

[英]How to get notify when user has enabled Location services

我有一個發送推送的應用程序。 推送發送請求以啟用位置服務。 收到推送后,我會立即打電話通知,並通知我

Intent viewIntent = new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS);
            context.startActivity(viewIntent);

但是,如果用戶未啟用位置設置,如何記錄。

推送是在broadcastReceiver接收的,因此我們沒有startActivityForResult() 還有其他方法嗎?

我希望這段代碼對您有幫助:

 private boolean isLocationEnabled()
  {
   LocationManager service = (LocationManager) getSystemService(LOCATION_SERVICE);
   return service.isProviderEnabled(LocationManager.GPS_PROVIDER)||service.isProviderEnabled(LocationManager.NETWORK_PROVIDER);
}

將此權限添加到清單文件:

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />

嘗試這個。

    LocationManager lm = null;
         boolean gps_enabled,network_enabled;
            if(lm==null)
                lm = (LocationManager) context.getSystemService(Context.LOCATION_SERVICE);
            try{
            gps_enabled = lm.isProviderEnabled(LocationManager.GPS_PROVIDER);
            }catch(Exception ex){}
            try{
            network_enabled = lm.isProviderEnabled(LocationManager.NETWORK_PROVIDER);
            }catch(Exception ex){}

    if(!gps_enabled && !network_enabled){

    ///////////// do you dialog show code here

 ////////////call the intent to open location service setting

     Intent myIntent = new Intent( Settings.ACTION_SECURITY_SETTINGS );
                    context.startActivity(myIntent);
    }

還要將此權限添加到清單文件中。

<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"></uses-permission>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM