Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/205.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 意图数据在活动中丢失_Android_Android Intent_Android Activity - Fatal编程技术网

Android 意图数据在活动中丢失

Android 意图数据在活动中丢失,android,android-intent,android-activity,Android,Android Intent,Android Activity,是的,我知道有目的地传递数据很简单,但突然不起作用。额外数据总是空的 有人能告诉我为什么。。。因为我看不到任何错误 我可以调试代码,当处于startActivity(intent)时,我可以看到intent正确地设置了额外的数据。当我停止getIntent().getExtras()中的代码时,数据额外丢失 活动A Intent intent = new Intent(mActivity, ScreenActivity.class); intent.putExtra(ArgumentsNames

是的,我知道有目的地传递数据很简单,但突然不起作用。额外数据总是空的

有人能告诉我为什么。。。因为我看不到任何错误

我可以调试代码,当处于
startActivity(intent)
时,我可以看到intent正确地设置了额外的数据。当我停止
getIntent().getExtras()中的代码时,数据额外丢失

活动A

Intent intent = new Intent(mActivity, ScreenActivity.class);
intent.putExtra(ArgumentsNamesConfig.IS_PUSH_NOTIFICATION, true);
intent.putExtra(ArgumentsNamesConfig.ARG_ARTICLE, article);
intent.putExtra(MyFirebaseMessagingService.IS_GEO_NOTIFICATION, isGeoNotification);

mActivity.startActivity(intent);
ScreenActivity.class
(进入onCreate方法)

intent.putExtra(argumentsNameConfig.IS_PUSH_通知,true);是布尔值,您试图将其作为字符串获取(intent.getStringExtra(argumentsNameConfig.is\u PUSH\u通知)

尝试将巡更代码更改为此

Intent intent = getIntent();
    pushNotificationProductId = intent.getBooleanExtra(ArgumentsNamesConfig.IS_PUSH_NOTIFICATION);
    isGeoNotification = intent.getBooleanExtra(MyFirebaseMessagingService.IS_GEO_NOTIFICATION, false);
    mArticle = intent.getParcelable(ArgumentsNamesConfig.ARG_ARTICLE);

试试这个:-pushNotificationProductId=getIntent().getExtras().get(ArgumentsNameConfig.IS_PUSH_通知)。toString();顺便问一下,这只是为了混淆您命名捆绑意图的人吗?请参阅我的编辑问题。putExtra(ArgumentsNameConfig.IS_PUSH_通知,true);是布尔值,您试图将其作为字符串获取(intent.getStringExtra(argumentsNameConfig.IS_PUSH_NOTIFICATION);)请更正它您能检查这个答案吗,如果我将intent intent=getIntent().getExtras()放在;我得到这个erro Required:android.content.Intent Found:android.os.Bundleyep,但是如果我在pushNotificationProductId中停止调试器并检查Intent额外数据是否为空
Intent intent = getIntent();
    pushNotificationProductId = intent.getBooleanExtra(ArgumentsNamesConfig.IS_PUSH_NOTIFICATION);
    isGeoNotification = intent.getBooleanExtra(MyFirebaseMessagingService.IS_GEO_NOTIFICATION, false);
    mArticle = intent.getParcelable(ArgumentsNamesConfig.ARG_ARTICLE);