这是我的清单文件:
Subject
所以我从android studio运行应用程序并获取:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.steff.barometer" >
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name=".MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
我已经完全从我的设备中移除了应用程序,也清理了我的项目并尝试重新部署,没有任何作用......
我使用的是带有Android 6的Nexus 5作为测试设备,Android项目SDK设置为23
答案 0 :(得分:2)
我认为你正在使用marshmellow(API 23),你需要为access_fine_location权限请求运行时权限。 按以下方式进行:
context.checkSelfPermission(Manifest.permission.ACCESS_FINE_LOCATION)
== PackageManager.PERMISSION_GRANTED &&
context.checkSelfPermission(Manifest.permission.ACCESS_COARSE_LOCATION)
== PackageManager.PERMISSION_GRANTED)
@Override
public void onRequestPermissionsResult(int requestCode, String[] permissions,
int[] grantResults) {
if (requestCode == MY_PERMISSIONS_REQUEST_CODE) {
Log.v("Toadways", "onRequestPermissionsResult");
isPermissionRequest = false;
//your code
}
了解更多信息,请查看以下链接:
http://developer.android.com/training/permissions/requesting.html
希望这有帮助。
答案 1 :(得分:1)
从Android 6.0开始(Marshmallow,API级别23),应用程序必须在运行时询问用户权限。
您仍然需要在清单中请求权限,但在安装应用程序时不再自动授予权限。
要了解有关运行时权限的更多信息,包括代码示例,请查看Requesting Permissions at Run Time文档。