【发布时间】:2011-04-23 21:22:24
【问题描述】:
我正在尝试在选项卡内的两个活动之间传递数据。我正在尝试使用sendBroadcast()。设置断点后,我永远无法到达onReceive()。
清单:
<activity
android:name=".WebResults"
android:label="@string/app_name">
<intent-filter>
<action android:name="com.toxy.LOAD_URL" />
</intent-filter>
</activity>
活动发送者:
Intent intent=new Intent(getApplicationContext(),WebResults.class);
intent.setAction("com.toxy.LOAD_URL");
intent.putExtra("url",uri.toString());
sendBroadcast(intent);
活动接收器:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
IntentFilter filter = new IntentFilter("com.toxy.LOAD_URL");
this.registerReceiver(new Receiver(), filter);
}
private class Receiver extends BroadcastReceiver {
@Override
public void onReceive(Context arg0, Intent arg1) {
String url = arg1.getExtras().getString("url");
WebView webview =(WebView)findViewById(R.id.webView);
webview.loadUrl(url);
}
}
【问题讨论】:
-
将所有内容放在一个活动中,而不是为选项卡使用单独的活动,您将不再需要尝试使用广播在它们之间进行通信。
-
如何取消注册这个接收器?
标签: android broadcast message-passing