gpt4 book ai didi

android - GCMIntentService 的 Intent Extras 未通过

转载 作者:太空狗 更新时间:2023-10-29 13:29:44 25 4
gpt4 key购买 nike

我编写了GCMIntentService但是调用了Activity无法获取Extras。

@Override
protected void onMessage(Context context, Intent intent) {

Intent resultIntent = new Intent(this, MainActivity.class).setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP |
Intent.FLAG_ACTIVITY_SINGLE_TOP);
resultIntent.putExtra("PushType", "test"); // Put String Extra.

PendingIntent resultPendingIntent = PendingIntent.getActivity(this, 0, resultIntent, PendingIntent.FLAG_UPDATE_CURRENT);
}

调用MainActivity的代码如下。

@Override
protected void onResume() {
super.onResume();

final Intent receivedIntent = getIntent();

if (receivedIntent != null && receivedIntent.hasExtra("PushType")) {
// Breakpoint at here. but no Extras are given.
}
}
}

我在 receivedIntent 下了断点,里面的 mExtras 显示为 null。

此外,我调用的 MainActivity list 编码如下。

        <activity
android:name=".MainActivity"
android:theme="@android:style/Theme.NoTitleBar"
android:configChanges="keyboardHidden|orientation|screenSize"
android:label="@string/app_name">
<intent-filter>
<category android:name="android.intent.category.DEFAULT"/>
</intent-filter>
</activity>

我将调用的 Intent 更改为另一个 Activity,它成功加载了 Extras。替代 Activity list (成功包含 Extras)如下。

        <activity
android:name=".NotificationActivity"
android:parentActivityName=".MainActivity">
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value=".MainActivity"/>
</activity>

我做错了什么?

最佳答案

看起来您需要覆盖 onNewIntent(Intent intent) 方法并在 onNewIntent() 内部调用 setIntent(intent)。然后 onResume() 将获取新的 Intent 。参见 onNewIntent()了解更多详情。

关于android - GCMIntentService 的 Intent Extras 未通过,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17061190/

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