我想在每次android设备启动时检查SIM卡状态

我想在每次android设备启动时检查SIM卡状态,android,sim-card,Android,Sim Card,我正在编写一个应用程序,当我用新的SIM卡替换现有的SIM卡时,它会自动发送短信。我可以使用SIM卡的用户id来检查这一点,但我如何在每次android设备启动时检查它。 谢谢…写一个启动广播接收器。每次设备启动时都会运行。将以下意图添加到清单中: <receiver android:name=".StartupReceiver"> <intent-filter> <action android:name="andro

我正在编写一个应用程序,当我用新的SIM卡替换现有的SIM卡时,它会自动发送短信。我可以使用SIM卡的用户id来检查这一点,但我如何在每次android设备启动时检查它。
谢谢…

写一个启动广播接收器。每次设备启动时都会运行。将以下意图添加到清单中:

    <receiver android:name=".StartupReceiver">
        <intent-filter>
            <action android:name="android.intent.action.BOOT_COMPLETED" />
            <category android:name="android.intent.category.HOME" />
        </intent-filter>
    </receiver>

编写一个启动广播接收器。每次设备启动时都会运行。将以下意图添加到清单中:

    <receiver android:name=".StartupReceiver">
        <intent-filter>
            <action android:name="android.intent.action.BOOT_COMPLETED" />
            <category android:name="android.intent.category.HOME" />
        </intent-filter>
    </receiver>

dhaag23的答案包括如何设置启动接收器。但是,它没有提到应用程序必须具有完全启动权限,或者任何与您的SIM卡要求有关的内容

<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
获取SIM卡序列号的方法

public static String getSimSerialNumber(Context context) {
    TelephonyManager phoneManager = (TelephonyManager) 
            context.getSystemService(Context.TELEPHONY_SERVICE);
    String phoneNumber = phoneManager.getSimSerialNumber();
    return phoneNumber;
}

如果有办法明确检查是否存在新的/丢失的SIM卡,我不确定它是什么。我上面提到的获取电话号码的方法显然在所有运营商上都不可靠。此外,获取SIM卡序列号只能在SIM卡手机上使用。

Dhag23的答案包括如何设置启动接收器。但是,它没有提到应用程序必须具有完全启动权限,或者任何与您的SIM卡要求有关的内容

<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
获取SIM卡序列号的方法

public static String getSimSerialNumber(Context context) {
    TelephonyManager phoneManager = (TelephonyManager) 
            context.getSystemService(Context.TELEPHONY_SERVICE);
    String phoneNumber = phoneManager.getSimSerialNumber();
    return phoneNumber;
}
如果有办法明确检查是否存在新的/丢失的SIM卡,我不确定它是什么。我上面提到的获取电话号码的方法显然在所有运营商上都不可靠。此外,获取SIM卡序列号仅在SIM卡手机上有效