我们可以选择在应用程序的Android移动设置中打开位置服务中我位置的访问权限吗?

时间:2015-03-31 09:17:56

标签: android location settings android-permissions

我想启用设置>>位置服务>>从应用程序访问我在移动设备中的位置。在Android中有任何权限。

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

3 个答案:

答案 0 :(得分:1)

没有

最近的Android设备无权从正常应用程序更改系统设置。

请参阅http://developer.android.com/reference/android/provider/Settings.Secure.html

  

安全系统设置,包含应用程序可以读取但不允许写入的系统首选项。这些是用户必须通过系统UI或这些值的专用API显式修改的首选项,而不是由应用程序直接修改。

您可以引导用户直接更改设置,而不是直接更改设置,可以Intent使用Settings.ACTION_*来自行更改设置。 http://developer.android.com/reference/android/provider/Settings.html

答案 1 :(得分:0)

我在我的应用程序中使用它。如果设备位置服务已关闭,则此方法转到设置,您可以打开位置服务。

if (!locationmanager.isProviderEnabled(LocationManager.GPS_PROVIDER)) {
            buildAlertMessageNoGps();
        }

private void buildAlertMessageNoGps() {
        final AlertDialog.Builder builder = new AlertDialog.Builder(this);
        builder.setMessage(getString(R.string.gps_warning))
               .setCancelable(false)
               .setPositiveButton(getString(R.string.enable), new DialogInterface.OnClickListener() {
                   @Override
                public void onClick(final DialogInterface dialog, final int id) {
                       startActivity(new Intent(android.provider.Settings.ACTION_LOCATION_SOURCE_SETTINGS));
                   }
               })
               .setNegativeButton(getString(R.string.cancel), new DialogInterface.OnClickListener() {
                   @Override
                public void onClick(final DialogInterface dialog, final int id) {
                        dialog.cancel();
                   }
               });
        final AlertDialog alert = builder.create();
        alert.show();
    }

答案 2 :(得分:0)

  

不,从我们不能的应用程序(非系统应用程序)   以编程方式打开位置服务

我们只能打开位置设置给用户手动打开设置