gpt4 book ai didi

android - 使用启动器标志在 Activity 中获得额外的未决 Intent

转载 作者:行者123 更新时间:2023-11-30 01:42:11 26 4
gpt4 key购买 nike

在我的应用程序中,我在某些情况下会显示通知,当用户点击通知时,它会通过以下代码导航到应用程序:

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 中,我想获得这个 intent 的额外信息。但这不可用,因为这个 intent 不会创建新的 Activity ,只是将启动的 Activity 放在前面。所以我如何在我的应用程序中处理这种 Intent .

谢谢

最佳答案

我找到了答案:

在您的 Activity 中设置 list :

android:launchMode="singleTask"

然后对于您的未决 Intent ,您应该这样设置:

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;

现在在您的 Activity 中覆盖 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);
}

关于android - 使用启动器标志在 Activity 中获得额外的未决 Intent ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34341239/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com