用户和当前进程都没有android.permission.ACCESS_COARSE_LOCATION

use*_*805 14 android android-manifest android-permissions

我知道这可能是一个愚蠢的问题,我之前提到了所有类似的问题,但不幸的是我可以解决这个问题.很可能是我的Manifest.xml文件中存在问题.

当我尝试访问位置时,应用程序崩溃了

这是我的manifest.xml

<?xml version="1.0" encoding="utf-8"?>
 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.test.tt.test" >

<application
    android:allowBackup="true"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme" >
    <activity
        android:name=".sTest"
        android:label="@string/app_name" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>


    </activity>
    <service android:name="com.test.tt.test.sService">
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />

        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter> </service>
    <service android:name="com.test.tt.test.sServiceRequest" />

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


</application>
Run Code Online (Sandbox Code Playgroud)

当我运行它时抛出此错误

 java.lang.SecurityException: Neither user 11029 nor current process has android.permission.ACCESS_COARSE_LOCATION.
Run Code Online (Sandbox Code Playgroud)

与其他权限类似.我在清单文件中看不到任何错误.帮助赞赏

siv*_*ag1 14

如果您在Android Marshmallow及更高版本的设备上运行:

如果设备运行Android 6.0或更高版本,并且应用程序的目标SDK为23或更高,则应用程序不仅必须列出清单中的权限,还必须在应用程序运行时请求它所需的每个危险权限.

更多信息:

http://developer.android.com/training/permissions/requesting.html

http://developer.android.com/guide/topics/security/permissions.html#normal-dangerous


JNI*_*oad 12

这意味着您的清单文件中包含一些错误的信息或格式错误的信息,这就是您的应用无法识别您的权限的原因.只需确保已使用任何格式错误的数据清理ANDROIDMANIFEST文件.

它将工作,所有权限应该在Application标签之外