我已经写了一个接收器,当SIM状态改变它工作正常,我的设备是双SIM卡,它正在为单个SIM卡工作,但它没有执行第二个SIM卡,当第一个SIM卡处于就绪状态然后我正在向用户发送一个通知,但通知是两次,为什么它要来两次我想只执行一次这是我的接收器代码
case TelephonyManager.SIM_STATE_READY:
generateNotification(context, "*** Sim State Ready ***");
Log.i("SimStateListener", "Sim State ready");
和通知代码
private void generateNotification(Context context, String address) {
Intent notifyIntent = new Intent(context,
RegisterActivity.class);
notifyIntent.putExtra("address", address);
notifyIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
PendingIntent pendingIntent = PendingIntent.getActivity(context, 0,
notifyIntent, PendingIntent.FLAG_UPDATE_CURRENT);
NotificationCompat.Builder builder = new NotificationCompat.Builder(
context).setSmallIcon(R.drawable.ic_launcher)
.setContentTitle(address).setContentIntent(pendingIntent)
.setAutoCancel(true)
.setDefaults(Notification.DEFAULT_SOUND).setWhen(when);
NotificationManager notificationManager = (NotificationManager) context
.getSystemService(Context.NOTIFICATION_SERVICE);
builder.setAutoCancel(true);
notificationManager.notify((int) when, builder.build());
我收到通知两次为什么要两次来?
答案 0 :(得分:0)
在这里,我正在检查是否删除了sim。如果删除了sim,则将flag设置为true,当sim处于就绪状态时,我正在检查flag是否为true。如果是,那么我正在生成通知,否则我是没有产生任何通知。