在Android N

时间:2016-10-05 09:19:35

标签: android telephonymanager carrier

我想编写一个应用程序,它使用任何需要操作员权限的功能来查看我的SIM卡和应用程序是否正确签名。

所以我尝试使用以下API: https://developer.android.com/reference/android/telephony/TelephonyManager.html#hasCarrierPrivileges

我的问题: 虽然SIM访问控制文件(根据GPAC)是根据https://source.android.com/devices/tech/config/uicc.html的特殊规则更新的 (ACRF:30 10 A0 08 04 06 FF FF FF FF FF 30 04 04 02 [ACCF的文件ID]和ACCF:30 16 04 14 [数字ID应用的SHA-1已签名]且应用已签名与ACCF中的哈希匹配的相应证书,我仍然将hasCarrierPrivileges显示为false。

TelephonyManager tm=(TelephonyManager)getSystemService(TELEPHONY_SERVICE);
boolean isCarrier=tm.hasCarrierPrivileges();

if (isCarrier) {
   Log.i(TAG, "Ready with carrier privs");
} 
else {
   Log.i(TAG, "No carrier privs");
}

我在mainActivity中执行此操作。

我的用法有什么问题吗?我的清单中是否需要特别的东西?

0 个答案:

没有答案