-1

私はアンドロイドで簡単なタスクリマインダーアプリのように動作するはずのアプリを作っています。
私の問題は、前回のセレクションがアップしている場合に、アプリがユーザーに通知を送るようにしたいということです。私はBroadcastReceiverAlarmManagerと一緒にアラームをスケジュールしています。私は通知を設定する必要があることを知っている/とalarm_id一意だけど、特定のタイトルとテキストで複数の通知を送信する方法を知らない。タイトルは、SQLデータベースに保存されているタスクの名前でなければなりません。 変数を静的変数として設定しようとしましたが、すべての通知が同じテキストに変更されるため、それは役に立ちません。 これは私の放送受信機です - >Androidでユニークなテキストで通知を送信する

public class AlertReceiver extends BroadcastReceiver 
{ 

private Context context; 



@Override 
public void onReceive(Context context, Intent intent) 
{ 
    this.context = context; 
    String title = intent.getStringExtra("Title"); 
    createNotification("Title", "Message", "Time is up"); 

    Log.d("AlertReceiver", "Extra: " + title); 
} 







private void createNotification(String title, String message, String ticker) 
{ 
    PendingIntent notificationIntent = PendingIntent.getActivity(context, 0, new Intent(context, NavigationActivity.class), 0); 

    NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(context); 

    mBuilder.setContentIntent(notificationIntent); 
    mBuilder.setSmallIcon(R.drawable.ic_access_alarms_white_24dp); 
    mBuilder.setContentTitle(title); 
    mBuilder.setContentText(message); 
    mBuilder.setTicker(ticker); 

    mBuilder.setAutoCancel(true); 
    mBuilder.setDefaults(android.support.v7.app.NotificationCompat.DEFAULT_ALL); 

    NotificationManager manager = (NotificationManager)context.getSystemService(Context.NOTIFICATION_SERVICE); 
    manager.notify((int)System.currentTimeMillis(), mBuilder.build()); 


} 
} 

私は誰でも助けることができます。 ありがとうございます。

答えて

0

実際に私は答えを見つけました。それはまた、放送受信者の変数へのアクセス方法を尋ねた人々に対する答えです。 あなたはアラームが

Intent alertIntent = new Intent(this, receiver.getClass()); 
     alertIntent.putExtra("Notification_ID", taskID); 
     Log.d("AlertIntent", "ID" + String.valueOf(alertIntent.getIntExtra("Notification_ID", 0))); 

     AlarmManager alarmManager = (AlarmManager)getSystemService(Context.ALARM_SERVICE); 
     alarmManager.set(AlarmManager.RTC_WAKEUP, alertTime, PendingIntent.getBroadcast(this, alertIntent.getIntExtra("Notification_ID", 0), alertIntent, PendingIntent.FLAG_UPDATE_CURRENT)); 

オフになった場合ここであなたは常に新しいが作成されますので、常に一意になり、あなたの意思に余分を設定することができます開始されます意向を設定する必要がアラームを作成1。あなたは、この答えは誰かに便利です

int taskID = alarmIntent.getIntExtra("Notification_ID", 1); 

希望で余分を得ることができ、あなたのBroadcastreceiverクラスで 。

関連する問題