我正在编写一个应用程序,当我用新的SIM卡替换现有SIM卡时,自动发送SMS。我可以使用SIM卡的用户名来检查这一点,但是我每次在Android设备启动时都会检查它。 谢谢...我想检查每次Android设备启动时的SIM状态
0
A
回答
3
编写一个启动广播接收器。每次设备启动时都会运行。喜欢的东西下面的代码
<receiver android:name=".StartupReceiver">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
<category android:name="android.intent.category.HOME" />
</intent-filter>
</receiver>
:以下意图添加到您的清单
public class StartupReceiver extends BroadcastReceiver{
@Override
public void onReceive(Context context, Intent intent) {
Intent intent = new Intent(...);
context.startActivity(intent);
}
}
0
dhaag23的回答涵盖了如何建立一个启动接收器。然而,它并没有提到的是,应用程序必须有启动完成权限,或者任何关于您的SIM卡要求
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
对于检查SIM卡的价值,我已经设置了存储在该设备的电话号码应用设置。请注意,这可以由用户在应用程序设置中清除,并且您必须小心处理第一次初始化的情况。如果您检测到当前电话号码与设置中以前存储的值不匹配,则可以断定它是新的SIM卡。
下面是我用它来获得当前手机#方法:
用于获取SIM串行public static String getPhoneNumber(Context context) {
TelephonyManager phoneManager = (TelephonyManager)
context.getSystemService(Context.TELEPHONY_SERVICE);
String phoneNumber = phoneManager.getLine1Number();
return phoneNumber;
}
方法。
public static String getSimSerialNumber(Context context) {
TelephonyManager phoneManager = (TelephonyManager)
context.getSystemService(Context.TELEPHONY_SERVICE);
String phoneNumber = phoneManager.getSimSerialNumber();
return phoneNumber;
}
如果有一种方法可以明确检查新/缺失SIM卡的存在,我不确定它是什么。我上面提到的获取电话号码的方法显然不适用于所有运营商。此外,获取SIM卡序列号仅适用于SIM卡手机。
相关问题
- 1. 我第一次启动时如何检查实例状态?
- 2. 如何检查PC重启时的Windows设备状态?
- 3. 检测双SIM卡Android手机中两张SIM卡的状态
- 4. 检查每次启动的更新
- 5. 如何检查ToggleButton的启动状态
- 6. 如何检查Android中的HDMI设备连接状态?
- 7. 如何检查SIM卡是否可用于Android设备?
- 8. 后状态从Android设备
- 9. 检查无线设备是否启动
- 10. Android的检查服务状态,例如启动/停止
- 11. Android设备每次插入设备时运行
- 12. 检查移动数据是从SIM卡或SIM卡2 Android
- 13. 我的Android活动如何知道设备在方向更改时的状态
- 14. QAbstractItemModel自动设置检查状态
- 15. Android滚动后丢失检查状态
- 16. Android设备启动时重复通知
- 17. Android - 无法在设备启动时自动启动活动?
- 18. 我的android服务无法启动后启动设备
- 19. 检查onClickListener状态Android
- 20. Android,AsyncTask,检查状态?
- 21. Android中配对设备的状态
- 22. Android设备根检查
- 23. 在移动设备上的SIM卡检测
- 24. ios-sim命令和Xcode 6.0 - 无法启动ios8设备
- 25. 无SIM卡启动后的Android Screenlock/Keyguard
- 26. 我想检查网络状态,但它给我nullPointerException为什么?
- 27. 如何从Dual Sim Android设备获取Sim Operator Name。
- 28. 如何检查C中的网络设备状态?
- 29. 如何在每次Emacs启动时创建.emacs的备份
- 30. 如何启动android设备时启动服务?