是否可以在不更改活动的情况下传递带有意图的字符串(Android)

时间:2014-08-23 23:21:57

标签: android android-intent

我想知道是否可以在不打开该活动的情况下将意图传递给另一个Activity。

我正在制作包含3个布局和3个活动的Android应用。 Firt是作为主屏幕的MainActivity。然后我有SettingsActivity和URLClickActivity。我使用MainActivity启动应用程序,然后我必须转到SettingsActivity并输入EditText我的网址。然后我回到MainActivity,然后回到URLClickActivity。我尝试将字符串url_adress直接从“设置”传递给UrlClick。

     Intent i = new Intent(SettingsActivity.this, URLClickActivity.class);
     i.putExtra("int_adress", adress);
     startActivity(i);

我尝试使用此代码,但当我在其中运行时,关闭“设置”并打开“URLClick活动”。

是否有可能以某种方式将字符串从SettingsActivity直接传递到URLClick Activity,或者我必须首先将字符串传递给MainActivity然后传递给URLClickActivity。?

4 个答案:

答案 0 :(得分:0)

不,这是不可能的。
但要实现您要解释的内容,您应该使用startActivityForResult()方法 以下是帮助您实施此方法的official tutorial

这是another implementation

答案 1 :(得分:0)

正如西蒙所说,这是不可能的。

  • 您可以SettingsActivity中的save the URL in SharedPreference替代在Intent中使用额外内容,然后直接在URLClickActivity中检索它。

  • 否则您可以像Simon建议的那样使用startActivityForResult。将网址检索回MainActivity,然后将网址作为额外内容启动URLClickActivity

答案 2 :(得分:0)

您所指的是存储另一个要使用和/或读取的活动的持久值。为此,您可以将其存储到SharedPreferences中,然后在UrlActivity中读取该首选项。

答案 3 :(得分:0)

以我的方式尝试 -

首先在URLClickActivity.class中创建此方法 -

public void uRL(String url){

    String vURL = url;
    //vURL is a local variable which will store the url passed from SettingsActivity

}

现在在SettingsActivity中,添加此代码 -

URLClickActivity urlActivity = new URLClickActivity();
urlActivity.uRL(adress);

从上面的代码调用方法后,您将在vURL中存储地址。