2010-10-11 121 views
40

我試圖在標籤內部的兩個活動之間傳遞數據。我正在嘗試使用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); 

活動Reciever:

@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); 
    } 
} 
+0

將所有內容放在一個活動中,而不是使用單獨的標籤活動,您將不再需要嘗試使用廣播在它們之間進行通信。 – CommonsWare 2010-10-11 17:17:02

回答

35

我有同樣的問題,因爲你,但我想通了:

刪除in從清單10噸過濾器和改變

Intent intent=new Intent(getApplicationContext(),WebResults.class);

Intent intent=new Intent();

希望它能幫助!

7

請使用

intent.getStringExtra(""); 

new Intent(); 

爲我工作。

+0

感謝與空構造函數的提示,我差點瘋了.. – 2012-06-21 17:10:04