6

是否可以在启动时使用 Android 中的 TelephonyManager 检测 SIM 号码,在启动时使用服务...

TelephonyManager tm = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
String ss=tm.getSimSerialNumber();
4

1 回答 1

11

您需要为启动完成操作注册广播接收器,即 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);
}

}

于 2011-12-25T15:28:33.783 回答