2

我想编写一个应用程序,它使用任何需要操作员权限的功能来查看我的 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 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 中执行此操作。

我的使用有什么问题吗?我的清单中需要一些特别的东西吗?

4

0 回答 0