0

サービスでアラームを作成しているため、アクティビティからサービス コンテキストを取得する必要があります。アクティビティでアラームを削除したいので、同じコンテキストを使用する必要があります。このサービスのコンテキストをsharedpreferences文字列として保存できますが、では、この文字列をコンテキストとして変換するにはどうすればよいですか?

私のアラーム コードは次のとおりです。

 Intent intentAlarm = new Intent(getApplicationContext(), TimeAlarm.class);            
           //add the notification body to the intent:
           intentAlarm.putExtra("Notif_body", Notif_Body);             
           // create the object
            AlarmManager alarmManager = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
           //set the alarm for particular time
           alarmManager.set(AlarmManager.RTC_WAKEUP,new GregorianCalendar().getTimeInMillis()+60*1000, PendingIntent.getBroadcast(getApplicationContext(),1,intentAlarm, PendingIntent.FLAG_UPDATE_CURRENT));

どのように削除していますか?

 AlarmManager alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE);
            Intent i = new Intent(getApplicationContext(),TimeAlarm.class);
            PendingIntent displayIntent = PendingIntent.getBroadcast(getApplicationContext(),1,i, PendingIntent.FLAG_UPDATE_CURRENT);               
            alarmManager.cancel(displayIntent);

なぜそれが機能しないのですか?

4

1 に答える 1

0

こんにちは、アクティビティからサービス コンテキストを取得する必要があります

いいえ、あなたはしません。

同じコンテキストを使用する必要があります

いいえ、あなたはしません。

このサービスのコンテキストを共有設定に文字列として保存できますか

いいえ、あなたがすることはできません。

同じ文脈が必要だと思います

いいえ、あなたはしません。

別のコンテキストを使用したときにアラームを削除できませんでした

次に、コードに何か問題があります。まったく別のプロセスを使用してアラームをキャンセルできますContext

于 2013-11-11T17:18:29.143 に答える