我有一个SIM更换接收器的问题?

时间:2015-02-05 10:54:31

标签: android notifications telephonymanager sim-card

我已经写了一个接收器,当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());

我收到通知两次为什么要两次来?

1 个答案:

答案 0 :(得分:0)

在这里,我正在检查是否删除了sim。如果删除了sim,则将flag设置为true,当sim处于就绪状态时,我正在检查flag是否为true。如果是,那么我正在生成通知,否则我是没有产生任何通知。