Android的Activity和Activity之间怎么在后台传递数据的,不是跳转时用intent那种。
一个Activity如何在后台把数据传给另一个Activity呢,比如我在一个Activity中输入一个字符串,然后点击一下按钮,就能把该字符串传到指定的Activity...
一个Activity如何在后台把数据传给另一个Activity呢,比如我在一个Activity中输入一个字符串,然后点击一下按钮,就能把该字符串传到指定的Activity中,有没有办法可以实现呢?或者说有什么其他方法,可以实现这样的功能?谢谢!
展开
展开全部
可以考虑用广播来实现,在第一个Activity调用sendBroadcast方法:
Intent intent = new Intent(INTENAL_ACTION_3);
intent.putExtra("Name", "hellogv");
intent.putExtra("Blog", "http://blog.csdn.net/hellogv");
sendBroadcast(intent);//传递过去
第二个Activity用registerReceiver监听广播:
IntentFilter intentFilter = new IntentFilter();
intentFilter.addAction(String); //为BroadcastReceiver指定action,即要监听的消息名字。
registerReceiver(MyBroadcastReceiver,intentFilter); //注册监听
unregisterReceiver(MyBroadcastReceiver); //取消监听
(一般:在onStart中注册,onStop中取消unregisterReceiver)
private class MyBroadcastReceive extends BroadcastReceiver
{
public void onReceive(Context context, Intent intent)
{
String action = intent.getAction();
if(INTENAL_ACTION_3.equals(action))
{
//处理内容
}
}
}
INTENAL_ACTION_3是广播的名称,可以这样定义:
public static final String INTENAL_ACTION_3 ="com.example.demobroadcast.BroadcastAction";
追问
追答
我不知道你是如何调用的,但是我想可能你把Activity启动的顺序搞错了。注册监听的Activity应该是已经启动了的,也就是说,在你发送广播之前,监听的Activity必须已经是启动了,只不过是暂停状态的。因为你必须要保证这个Activity是运行中的,这样才有可能监听到广播。你可能是先发送广播,再跳转到监听的Activity了。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询