android - 获取 Intent 及其附加信息,但不是启动新 Activity 的 Activity 的 Intent

标签 android android-activity android-intent extra

当你即将开始一个新的 Activity ,并且想要传递一个变量时,你通常会这样做:

Intent intent = new Intent().setClass(this, NewActivity.class);
intent.putExtra("variable", variable);
startActivity(intent);

当你阅读额外内容时(在新 Activity 中),你可以这样做:

Intent intent = getIntent();
if(intent != null)
{
    variable = intent.getIntArrayExtra("variable");
}

现在,在我的应用程序中,我有一个加载屏幕,所有加载都在这里进行。这是在主要 Activity 中进行的。在此过程中,许多变量正在更新/更改。我还有许多其他 Activity ,我需要将这些新更新的变量传递给其中一些 Activity 。问题是这些 Activity 不是由我的主要 Activity 启动。

有什么办法可以在我的主要 Activity 中做到这一点:

Intent newIntent1 = new Intent().setClass(MainActivity.this, NewActivity1.class);
newIntent1.putExtra("var1", var1);

然后使用 startActivity(newIntent1); 从另一个 Activity 开始 Activity ?

我试过像这样阅读额外内容:

Intent intent;
try
{
    intent = Intent.parseUri("content://com.mycompany.android.MainActivity", 0);
    if(intent != null)
    {
        var1 = intent.getIntArrayExtra("var1");
    }
}
catch (URISyntaxException e)
{
    e.printStackTrace();
}

这不起作用,var1 变量为 null(如此初始化)。

老实说,我不知道该怎么做,也不知道 Intent.parseUri 是如何工作的。这方面的文档对于像我这样的初学者来说真的很糟糕。

最佳答案

I have many other activities, and I need to pass these newly updated variables to some of these activities.

不,你不知道。

您需要编写一个真实的数据模型(数据库、内容提供程序、静态数据成员中的 POJO)并让所有 Activity 都引用该公共(public)数据模型。

关于android - 获取 Intent 及其附加信息,但不是启动新 Activity 的 Activity 的 Intent ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6973641/

相关文章:

java - 启动相机 android 权限时崩溃

android - 如何修复在构建项目时收到的 atp0000 错误?

android - 如何像启动画面一样只运行一次 Activity

Android:在 htc Hero 上选择 Gmail 应用程序时,带有 EXTRA_STREAM 的 Intent.ACTION_SEND 不会附加任何图像

java - Recycler View Adapter 中无法识别 Android EXTRA_MESSAGE

java if语句错误

android - 如何在Android中隐藏和显示TabWidget的上半部分

android - 从子 Activity 返回父 Activity

android - 对 Activity 和类(class)感到困惑

java - Webview 应用程序检查网络并显示 "no internet connection"(如果没有),并在网络可用时重新加载