在Android启动时使用Service,通过TelephonyManager检测SIM卡号是否可行...
TelephonyManager tm = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
String ss=tm.getSimSerialNumber();
你需要为启动完成操作即android.intent.action.BOOT_COMPLETED注册一个广播接收器。
在此接收器的onReceive中,您可以使用以下代码行启动您的服务并获取SIM卡号。
TelephonyManager telephoneMgr = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
String phoneNumber = telephoneMgr.getLine1Number();
还需要在清单文件中添加READ_PHONE_STATE权限以读取电话号码。
你可以通过广播接收器启动服务,如下所示 -
public class BootListener extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent arg1) {
Intent intent = new Intent(context,Myservice.class);
context.startService(intent);
}
}
telephoneMgr.getLine1Number();
是一个非常不可靠的方法。 - Abdul Wasae