2011-06-22 88 views
1

我有一個擴展廣播接收器的類。我的問題是,我將如何去調用另一個類中的這個活動......我試圖爲它創建一個意圖,但我一直得到一個語法錯誤。這是啓動廣播接收機的另一種方式嗎?如何啓動廣播接收器?

+1

你能提供你得到什麼語法錯誤嗎? –

+0

在談論錯誤時,發佈確切的錯誤描述和代碼總是一個好主意。 – mibollma

+0

請發佈您的清單文件和您調用的Intent代碼。 – advantej

回答

2

你必須使用

Intent intent = new Intent("mypackage.myaction"); 
activity.sendBroadCast(intent); 

凡活動是啓動你的廣播接收器和意圖,你的廣播接收器的過濾器匹配清單檔案中的意圖之一。

你會做的東西是這樣:

<receiver android:name="your broadcast receiver class" android:label="a name"> 
    <intent-filter> 
     <action android:name="mypackage.myaction" /> 
    </intent-filter> 
</receiver> 

問候, 斯特凡

+0

我的意圖過濾器如何在清單中查找?對於廣播接收者? – theITRanger22

2
IntentFilter filter = new IntentFilter("com.mydefinepackage.myactivity"); 
this.registerReceiver(new Receiver(), filter); 

聲明這個私有類和myactivity活動中使用上面的代碼。

private class Receiver extends BroadcastReceiver { 

    @Override 
    public void onReceive(Context arg0, Intent arg1) { 
     myOwnMethod(); 
    } 
} 

從任何其他活動執行此代碼。 myOwnMethod將被調用。

Intent i =new Intent("com.mydefinepackage.myactivity"); 
sendBroadcast(i);