我想编写一个应用程序,它使用任何需要操作员权限的功能来查看我的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中执行此操作。
我的用法有什么问题吗?我的清单中是否需要特别的东西?