Android 開発は初めてで、アプリに通知を実装するのに苦労しています。基本的に問題は、通知が表示されないことです (最初は表示されていました)。理由はわかりません。ここや他のフォーラムで他の通知の問題を見てきましたが、それでも修正できませんでした。私の。かなり苛立たしくなっており、何が問題なのかを推測するのにうんざりしているため、最後の手段としてここに投稿しています...これは私のコードです。エラーは発生しませんが、通知は表示されません。どんな助けでも大歓迎です。
とにかく、これはコードです。マニフェストとすべてで brodcastReciver を宣言しました。
ありがとう、エラド
public class NotificationService extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
NotificationManager notificationManager = (NotificationManager) context.getSystemService(Activity.NOTIFICATION_SERVICE);
PendingIntent contentIntent = PendingIntent.getActivity(context, 0,
new Intent(context, SplashTest.class), 0);
int mNotificationId = 001;
Notification notification = new Notification.Builder(context)
.setContentTitle("Title")
.setContentText("Text")
.setSmallIcon(R.drawable.notification_icon)
.setContentIntent(contentIntent)
.build();
notificationManager.notify(mNotificationId, notification);
}
}
アップデート
どうもありがとう !しばらくしてから通知を呼び出すために AlarmManager を使用していますが、この通知はアクティビティを開く必要があります。(通知の代わりに) 別のアクティビティを呼び出そうとすると、適切なタイミングでそれが開かれますが、通知を呼び出しても何も起こらないため、Alarammanager は機能しているようです。
コードを実装しようとしていくつかエラーが発生しました。何が間違っていますか?
public class NewNotificationService extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
int mNotificationId = 0015;
int icon = R.drawable.notification_icon;
NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(this)
.setSmallIcon(R.drawable.notification_icon)
.setContentTitle("My notification")
.setContentText("Hello World!");
Intent resultIntent = new Intent(this, SplashTest.class);
TaskStackBuilder stackBuilder = TaskStackBuilder.create(this);
stackBuilder.addParentStack(SplashTest.class);
stackBuilder.addNextIntent(resultIntent);
PendingIntent resultPendingIntent = stackBuilder.getPendingIntent(
0, PendingIntent.FLAG_UPDATE_CURRENT );
mBuilder.setContentIntent(resultPendingIntent);
NotificationManager mNotificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
mNotificationManager.notify(0, mBuilder.build());
logcat には何も表示されませんが、コンソールには次のように表示されます。
[2013-06-25 23:45:30 - ddmlib] Broken pipe
java.io.IOException: Broken pipe
at sun.nio.ch.FileDispatcher.write0(Native Method)
at sun.nio.ch.SocketDispatcher.write(SocketDispatcher.java:29)
at sun.nio.ch.IOUtil.writeFromNativeBuffer(IOUtil.java:69)
at sun.nio.ch.IOUtil.write(IOUtil.java:40)
at sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:336)
at com.android.ddmlib.JdwpPacket.writeAndConsume(JdwpPacket.java:213)
at com.android.ddmlib.Client.sendAndConsume(Client.java:607)
at com.android.ddmlib.HandleHeap.sendREAQ(HandleHeap.java:348)
at com.android.ddmlib.Client.requestAllocationStatus(Client.java:453)
at com.android.ddmlib.DeviceMonitor.createClient(DeviceMonitor.java:835)
at com.android.ddmlib.DeviceMonitor.openClient(DeviceMonitor.java:803)
at com.android.ddmlib.DeviceMonitor.processIncomingJdwpData(DeviceMonitor.java:763)
at com.android.ddmlib.DeviceMonitor.deviceClientMonitorLoop(DeviceMonitor.java:652)
at com.android.ddmlib.DeviceMonitor.access$100(DeviceMonitor.java:44)
at com.android.ddmlib.DeviceMonitor$3.run(DeviceMonitor.java:580)