こんにちは、ブロードキャスト メッセージを受信したときに BroadcastReceiver で通知を送信しようとしています。Parse.com から。ただし、NotificationCompat.Builder のインスタンスから getNotification メソッドを呼び出すと、通知が自動的に送信され、既定の contextText とともに表示されます。したがって、mNotificationManager.notify を呼び出すと、2 つの通知が表示され、1 つは指定されたコンテンツ テキストが表示され、もう 1 つは表示されません。私はAPIレベル16です。
以下はBroadcastReceiverの私のコードです。助けてください。どうもありがとうございました!
@Override
public void onReceive(Context context, Intent intent) {
try {
String action = intent.getAction();
if (intent.getExtras() != null) {
JSONObject json = new JSONObject(intent.getExtras().getString(
"com.parse.Data"));
String text = json.getString("text");
String title = json.getString("title");
Long timestamp = json.getLong("timestamp");
String qid = json.getString("qid");
NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(
context).setSmallIcon(R.drawable.ic_launcher)
.setContentTitle(title)
.setContentText(text)
.setTicker("New Reply");
Intent resultIntent = new Intent(context,
QuestionViewActivity.class);
resultIntent.putExtra(QuestionViewActivity.EXTRA_QUESTION_ID,
qid);
TaskStackBuilder stackBuilder = TaskStackBuilder.from(context);
stackBuilder.addParentStack(MainActivity.class);
stackBuilder.addNextIntent(resultIntent);
PendingIntent resultPendingIntent = stackBuilder
.getPendingIntent(0, PendingIntent.FLAG_UPDATE_CURRENT);
mBuilder.setContentIntent(resultPendingIntent);
NotificationManager mNotificationManager = (NotificationManager) context
.getSystemService(Context.NOTIFICATION_SERVICE);
Notification n = mBuilder.getNotification();
mNotificationManager.notify(qid.hashCode(),
mBuilder.getNotification());
}