過去幾天我在應用程序中遇到NotificationManager問題,而且我似乎沒有越來越近解決它。NotificationManager無法顯示「notify:id corrupted:sent 1,got back 0」warning的通知
我有一個非常簡單的服務,目前沒有做任何事情。它只是應該顯示通知:
public class UpdateService extends Service {
private static final String TAG = "UpdateService";
private static int NOTIFICATION_ID = 1;
private UpdateServiceBinder binder = new UpdateServiceBinder();
@Override
public void onCreate() {
Log.i(TAG, "Service created");
}
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
Log.i(TAG, "Service started");
sendNotification(100);
return Service.START_NOT_STICKY;
}
private void sendNotification(int updatedItems) {
NotificationCompat.Builder builder = new NotificationCompat.Builder(getApplicationContext())
.setSmallIcon(R.drawable.icon)
.setContentTitle("Sync")
.setContentText("Updated " + updatedItems);
Intent resultIntent = new Intent(getBaseContext(), MainActivity.class);
TaskStackBuilder stackBuilder = TaskStackBuilder.create(getApplicationContext());
stackBuilder.addParentStack(MainActivity.class);
stackBuilder.addNextIntent(resultIntent);
PendingIntent resultPendindIntent = stackBuilder.getPendingIntent(0, PendingIntent.FLAG_UPDATE_CURRENT);
builder.setContentIntent(resultPendindIntent);
NotificationManager manager = (NotificationManager) getApplicationContext().getSystemService(Context.NOTIFICATION_SERVICE);
manager.notify(NOTIFICATION_ID, builder.build());
}
@Override
public IBinder onBind(Intent intent) {
return binder;
}
@Override
public boolean onUnbind(Intent intent) {
return true;
}
public class UpdateServiceBinder extends Binder {
public UpdateService getService() {
return UpdateService.this;
}
}
}
不幸的是,當服務已啓動,該通知應該顯示沒有任何反應。該服務肯定是根據日誌消息啓動的。同時有來自NotificationManager警告:
11-30 23:24:34.620:I/UpdateService(28356):服務創造
11-30 23:24:34.800:I/UpdateService (28356):服務開始
11-30 23:24:34.808:W/NotificationManager(28356):通知:損壞ID :發送1,回來0
我嘗試使用比不同的數字1但它沒有幫助。我不知道該怎麼做。我使用的代碼來自here服務中的Android文檔以及here中的通知。當我將代碼隔離在獨立的乾淨應用程序中,該應用程序以類似於我正在處理通知的方式進行設置時顯示正確。有沒有人有過這個問題或有任何想法?
任何幫助表示讚賞。 謝謝!
我做了同樣的,它的工作..我不知道爲什麼 –
我做了同樣的,它的工作:) –