[英]Get pending intent extra in activity with launcher flag
在我的應用中,在某些情況下,我會顯示通知,當用戶單擊通知時,它會通過以下代碼導航至應用:
Intent onNotificationClicked = new Intent(G.context, MainActivity.class);
onNotificationClicked.putExtra("DO", "clicked");
onNotificationClicked.setAction(Intent.ACTION_MAIN);
onNotificationClicked.addCategory(Intent.CATEGORY_LAUNCHER);
PendingIntent ponNotificationClicked = PendingIntent.getActivity(ctx, 113, onNotificationClicked, PendingIntent.FLAG_UPDATE_CURRENT);
this.contentIntent = ponNotificationClicked;
現在我要在MainActivity中獲取此意圖的更多信息,但是該意圖不可用,因為該意圖不會產生新的活動,而只是將已啟動的活動置於最前面。因此,我該如何在我的應用程序中處理這種意圖。
謝謝
我找到了答案:
在您的活動清單中設置:
android:launchMode="singleTask"
然后針對您的待定意圖,您應進行以下設置:
Intent onNotificationClicked = new Intent(G.context, MainActivity.class);
onNotificationClicked.putExtra("DO", "clicked");
PendingIntent ponNotificationClicked = PendingIntent.getActivity(ctx, 113, onNotificationClicked, PendingIntent.FLAG_UPDATE_CURRENT);
this.contentIntent = ponNotificationClicked;
現在在您的活動中覆蓋onNewIntent並在其中編寫您的函數:
@Override
protected void onNewIntent(Intent intent) {
String action = intent.getStringExtra("DO");
if (action != null) {
Log.d("this is creating", "shiva said right");
mSlidingLayout.setPanelState(SlidingUpPanelLayout.PanelState.EXPANDED);
}
super.onNewIntent(intent);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.