在android emulator上访问simcard时出现安全异常

在android emulator上访问simcard时出现安全异常,android,security,emulation,avd,sim-card,Android,Security,Emulation,Avd,Sim Card,我刚刚编写了以下代码,并在android模拟器上运行: TelephonyManager mgr = (TelephonyManager) this.getSystemService(Context.TELEPHONY_SERVICE); String t = ""; try { t = mgr.getSimSerialNumber(); } catch (Exception e) {

我刚刚编写了以下代码,并在android模拟器上运行:

        TelephonyManager mgr = (TelephonyManager) this.getSystemService(Context.TELEPHONY_SERVICE);
        String t = "";
        try {
            t = mgr.getSimSerialNumber();
        } catch (Exception e) {
            e.printStackTrace();
        }
我有以下例外情况:

java.lang.SecurityException: getIccSerialNumber: Neither user 10057 nor current process has android.permission.READ_PHONE_STATE.
已在应用程序的AndroidManifest.xml中添加权限:

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.READ_PHONE_STATE" />
    <uses-permission android:name="android.permission.SEND_SMS" />
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />


该代码可以在真实设备上执行而不会出错。我想知道是否有可能在android仿真器上获取假sim卡信息(最好是可配置的),而不是引发安全异常?

--您使用的是什么版本的android(设备和仿真器),您的
targetSdkVersion
是什么?@Jim Ma您正试图从emulator获取Simulator中不存在的sim卡详细信息。所以这段代码在emulator上不起作用,因为sim卡的详细信息总是被注册和验证的。