開啓定位服務


1.第一種方法

Intent gpsIntent = new Intent();
    gpsIntent.setClassName("com.android.settings", "com.android.settings.widget.SettingsAppWidgetProvider");
    gpsIntent.addCategory("android.intent.category.ALTERNATIVE");
    gpsIntent.setData(Uri.parse("custom:3"));
    try {
         PendingIntent.getBroadcast(StartActivity.this, 0, gpsIntent, 0).send();
     } catch (CanceledException e) {
         e.printStackTrace();
     }
 
2.第二種方法     

//獲取GPS現在的狀態(打開或是關閉狀態)
    boolean gpsEnabled = Settings.Secure.isLocationProviderEnabled( getContentResolver(), LocationManager.GPS_PROVIDER );
    if(gpsEnabled)
    { 

     //關閉GPS

     Settings.Secure.setLocationProviderEnabled( getContentResolver(), LocationManager.GPS_PROVIDER, false );
    } else {
         //打開GPS
         Settings.Secure.setLocationProviderEnabled( getContentResolver(), LocationManager.GPS_PROVIDER, true);

}
   
 3.第三種方法(手動設置)

    LocationManager alm = (LocationManager)StartActivity.this.getSystemService(Context.LOCATION_SERVICE);       
       if (alm.isProviderEnabled(android.location.LocationManager.GPS_PROVIDER))
       {           
            Toast.makeText(this, "GPS模塊正常", Toast.LENGTH_SHORT).show();
       }
       Toast.makeText(this, "請開啓GPS!", Toast.LENGTH_SHORT).show();
       Intent intent = new Intent(Settings.ACTION_SECURITY_SETTINGS);
       startActivityForResult(intent,0); //此爲設置完成後返回到獲取界面  


 第一種方法需要添加權限 <uses-permission android:name="android.permission.WRITE_SETTINGS" ></uses-permission>。

 第二種方法添加 <uses-permission android:name="android.permission.WRITE_SECURE_SETTINGS"/>

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

 同時需要apk的AndroidManifest.xml中聲明瞭android:sharedUserId="android.uid.system",並進行系統源碼簽名或者其他系統應用簽名。

第三種方法添加權限<uses-permission android:name="android.permission.WRITE_SETTINGS" ></uses-permission>


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章