2010-07-20 53 views

回答

2

可以通過構造函數或setComponentsetClassName方法設置特定的ComponentName

1

也許嘗試 指定您的意圖,並把私人BroadcastReceiver在您的目標?

0

從開發指南約intent resolution似乎有明確意圖你得到你所要搜索的行爲:

明確意圖通過其名稱指定目標 成分[...]明確 意圖通常用於 應用程序內部消息

只要你指定目標系統不應該尋找註冊濾波器當中的比賽:

在沒有指定的目標的, Android系統必須找到最好 組件(或組件)來處理 意圖

此外,如你詢問消息發送到一個活動,這是值得注意的:

有這些 消息系統內沒有重疊:廣播意圖 交付僅播出 接收機,從來沒有牛逼o活動或 服務。一個意圖傳遞給 的startActivity()僅傳遞給 一個活動,從未傳遞給服務或 廣播接收器等等。

1

是的。聲明你的活動沒有任何的意圖過濾器:

<activity android:name=".MapActivity"> 
</activity> 

然後使用具有組件名稱的意圖送你startActivity:

ComponentName comp = new ComponentName("package.name","package.name.MapActivity"); 
Intent intent = new Intent(); 
intent.setComponent(comp); 
this.startActivity(intent); 

你也可以把不同的應用程序的活動在組件名稱字段中。

更多關於此here

相關問題