我想知道是否可以在不打开该活动的情况下将意图传递给另一个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。?
答案 0 :(得分:0)
不,这是不可能的。
但要实现您要解释的内容,您应该使用startActivityForResult()方法
以下是帮助您实施此方法的official tutorial。
答案 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中存储地址。