Java android.permission.READ\u PHONE\u状态权限被拒绝
我得到一个异常,它告诉我使用Java android.permission.READ\u PHONE\u状态权限被拒绝,java,android,Java,Android,我得到一个异常,它告诉我使用getDeviceId()的权限被拒绝,但我有android.permission.READ\u PHONE\u STATE在我的清单中 以下是例外情况: getDeviceId:用户10055和当前进程都没有android.permission.READ\u PHONE\u状态。 以下是清单: <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas
getDeviceId()
的权限被拒绝,但我有android.permission.READ\u PHONE\u STATE
在我的清单中
以下是例外情况:
getDeviceId:用户10055和当前进程都没有android.permission.READ\u PHONE\u状态。
以下是清单:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="client.test.me.client" >
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
<uses-permission android:name="android.permission.CALL_PHONE"/>
<uses-permission android:name="android.permission.SEND_SMS"/>
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme">
<activity
android:name=".HiddenActivity"
android:label="@string/app_name"
android:theme="@android:style/Theme.Translucent.NoTitleBar">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<receiver android:name=".BootReceiver">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
<category android:name="android.intent.category.HOME" />
</intent-filter>
</receiver>
<service android:name="client.test.me.client.ClientService" >
<intent-filter>
<action android:name=".ClientService" />
</intent-filter>
</service>
</application>
</manifest>
获取设备ID的代码:
TelephonyManager tm = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
byte[] idBytes = tm.getDeviceId().getBytes();
编辑:这不是重复的问题,我找不到与我有相同问题的问题。试试这个
TelephonyManager TM = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
// IMEI No.
String imeiNo = TM.getDeviceId();
// IMSI No.
String imsiNo = TM.getSubscriberId();
// SIM Serial No.
String simSerialNo = TM.getSimSerialNumber();
// Android Unique ID
String androidId = System.getString(this.getContentResolver(),Settings.Secure.ANDROID_ID);
别忘了加上
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
到您的清单文件。您测试的是哪个版本的Android,您的
targetSdkVersion
是什么?发布您的应用程序Android清单您可以发布完整的清单和异常吗?没有该权限,您无法获取设备id。好的,我已经编辑了我的帖子。我已经在做这些了。如果您阅读我的清单,您将看到我已经拥有该权限。您是否可以发布getDeviceId()和logcatPlease的代码,请参见上文所述。不同的症状但相同的问题。@headuck这一定是我现在要测试的问题。这是否意味着我的应用程序不会在android 6.0上运行?根据@headduck的链接,您需要使用requestPermissions()方法
<uses-permission android:name="android.permission.READ_PHONE_STATE" />