MainActivity
クラスから通知を送信します。MainActivity
ユーザーが通知をクリックしたら、クラスに戻ってメソッドを実行したいと思います。また、どの通知がクリックされたかを知りたいです(異なる で複数の通知を起動すると仮定しますid
)。ここで私がやったこととそれがうまくいかなかった
内部MainActivity.class
:
private void showNotification(String title, String message, int id) {
NotificationCompat.Builder mBuilder =
new NotificationCompat.Builder(this)
.setSmallIcon(R.drawable.ic_launcher)
.setContentTitle(title)
.setContentText(message);
Intent resultIntent = new Intent(this, MainActivity.class);
resultIntent.setAction("mAction");
PendingIntent resultPendingIntent = PendingIntent.getBroadcast(this, 0, resultIntent, PendingIntent.FLAG_UPDATE_CURRENT);
mBuilder.setContentIntent(resultPendingIntent);
NotificationManager mNotificationManager =
(NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
mNotificationManager.notify(id, mBuilder.build());
}
同じようにクラスMainActivity.class
を作成しますが、呼び出されませんでした:BroadcastReceiver
public class MyBroadcastReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
if(action.equals("mAction")) {
//execute my method here
}
}
}
MyBroadcastReceiver.class
私は受信機を追加しましたAndroidManifest.xml
:
<receiver android:name=".MyBroadcastReceiver" > </receiver>