1
我使用newIntent傳遞正確的taskid點擊我的應用程序的通知時。這裏面的onReceive)我的廣播接收機的代碼(:通知的onclick意向發送錯誤的數據到活動
Intent newIntent = new Intent(context, TaskActivity.class);
int taskId = intent.getIntExtra("taskId", 0);
newIntent.putExtra("taskId", intent.getIntExtra("taskId", 0));
Notification notification = new NotificationCompat.Builder(context)
.setContentTitle(intent.getStringExtra("NotificationTitle"))
.setContentText(intent.getStringExtra("NotificationText"))
.setSmallIcon(intent.getIntExtra("NotificationIcon", 0))
.setContentIntent(PendingIntent.getActivity(context, 0, newIntent, 0))
.build();
這是接收意圖
if (getIntent().hasExtra("taskId")) {
currentTask = dataSource.fetchTask(getIntent().getIntExtra("taskId", 0));
}
當調試,該方法getIntExtra()返回一個不同的活動的代碼值比廣播接收機的onReceive()中的值更高。
任何想法,爲什麼會發生這種情況?
謝謝!
我建議你交叉(0 「的TaskID」,)檢查這行代碼'INT的TaskID = intent.getIntExtra;'通過印刷的TaskID的值。從哪裏得到這個價值? – AADProgramming
該值來自所在的onReceive的參數傳遞的意圖()。在那之前,我用關鍵的「taskId」設置了一個警報器。我已經印刷的價值,這正是問題: 當我把它傳遞給報警管理它是由廣播接收器接收到相同的。但是,由通知的點擊意圖啓動的活動會收到錯誤的值。 – user5102612