我想启用设置>>位置服务>>从应用程序访问我在移动设备中的位置。在Android中有任何权限。
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
答案 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)
不,从我们不能的应用程序(非系统应用程序) 以编程方式打开位置服务
我们只能打开位置设置给用户手动打开设置