Android:无法从意图获取数据

Posted

技术标签:

【中文标题】Android:无法从意图获取数据【英文标题】:Android: Unable to get data from intent 【发布时间】:2016-11-15 06:54:45 【问题描述】:

我正在尝试从 Intent 值中获取 onActivityForResult() 中的字符串值。

这就是我通过 Intent 的方式

Intent intent = new Intent();
            intent.putExtra("state", getResources().getString(R.string.intent_skip_pin_setup));
            setResult(RESULT_OK, intent);
            finish();

现在我得到的“状态”如下:

intent_get.getStringExtra("state")

但我得到了空值。这是因为我没有使用startActivity(intent)。我不想重定向,因为我想要的视图在后台。

这就是我检查的方式:

if (getIntent().getExtras().getString("state") != null) 
        if ((getIntent().getExtras().getString("state").equals("save_pin_setup") || getIntent().getExtras().getString("state").equals("skip_pin_setup"))) 
            doLaunchDashboard();
        
    

有没有办法像我们使用 Intent 或 Bundle 一样保存和获取数据。因为我没有开始活动,我认为我不能使用它们(intent/bundle)。

【问题讨论】:

您能提供更多代码吗?我不明白这种情况背后的想法。 @Adithya.K 你想达到什么目的? onActivityForResult 旨在将数据从一个活动传递到另一个活动。如果您没有使用您创建的 Intent 开始活动,它将不会得到它。在这种情况下,使用其他机制在活动之间共享日期。也许广播会满足你的需要。 【参考方案1】:

使用intent_get.getExtras().getString("state")

但在此之前检查 intent_getintent_get.getExtras() 是否不为空。 (检查意图额外内容可能非常疯狂)

【讨论】:

获取:错误 Intent 为 NULL,应用程序崩溃!

以上是关于Android:无法从意图获取数据的主要内容,如果未能解决你的问题,请参考以下文章

如何从 Android 上的意图中获取额外数据?

应用程序在后台时无法从意图中获取附加信息

如何在android中使用意图过滤器获取数据

Android从相机捕获图像返回空数据[重复]

Android在使用requestLocationUpdates()时如何从意图中获取信息

试图从谷歌地图获取纬度是通过 Android 中的意图返回 null