开启定位服务


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); //此为设置完成后返回到获取界面  


 第一种方法需要添加权限 

 第二种方法添加 


   

 同时需要apk的AndroidManifest.xml中声明了android:sharedUserId="android.uid.system",并进行系统源码签名或者其他系统应用签名。

第三种方法添加权限



你可能感兴趣的:(Android,开发,linux,开发,C++,JAVA)