Java.lang.SecurityException: требуется READ_PHONE_STATE: ни пользователь 10210, ни текущий процесс.. только в телефонах HTC

Ошибка в телефонах HTC работает очень хорошо в samsung, lg и т.д.

java.lang.SecurityException: требуется READ_PHONE_STATE: ни пользователь 10210 или текущий процесс имеет android.permission.READ_PHONE_STATE

Разрешение, указанное в файле манифеста

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

Мой код ниже

final TelephonyManager tm=(TelephonyManager)con.getSystemService(Context.TELEPHONY_SERVICE);
String deviceId = tm.getDeviceId(); 

Этот код уже протестирован в сотнях телефонов Samsung, LG, Xiomi, Gionee, Xolo и работает очень хорошо.

он только дает ошибку в телефонах серии HTC Desire, например,

PHONE_MODEL = HTC Desire 700 dual sim ANDROID_VERSION = 4.1.2

Я повторяю, что он дает ошибку только в телефонах htc, в других работает нормально.

Примечание: - Пожалуйста, поймите и внимательно прочитайте вопрос, прежде чем отмечать его как дубликат.

Ответ 1

READ_PHONE_STATE теперь считается опасным Разрешением, и пользователь должен дать вам согласие на использование. Этого недостаточно, чтобы включить его в свой манифест.

Здесь больше информации и примеров о том, как запросить разрешение.

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

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