2013-02-23 174 views
0

在我的應用程序myApp1我只有一個接收器接收器爲什麼不響應?

<receiver 
    android:name="com.plugins.Plugin"> 
    <intent-filter android:priority="1000" > 
     <action android:name="Plugin.Broadcast" /> 
    </intent-filter> 
</receiver> 

,如果我給廣播接收器從我的另一個應用程序myApp2到接收器

Intent activityIntent = new Intent(); 
activityIntent.setAction("Plugin.Broadcast"); 
activityIntent.putExtra("appWidgetId", finalAppWidgetId); 
sendBroadcast(activityIntent); 

它不迴應。如果我在myApp1中添加一些活動與啓動類別,主要操作並運行後安裝myApp1然後接收器工作。 爲什麼它發生?和我如何解決它?

答: 並保證廣播接收我需要在我的意圖添加標誌:

i.addFlags(Intent.FLAG_INCLUDE_STOPPED_PACKAGES); 

回答

0

開始的Android 3.0(蜂巢),直到他們已經推出的應用程序不能接收廣播(也就是說一個活動已經啓動)至少一次出於安全原因。

這樣做是爲了防止安裝惡意應用程序,並自動運行常見廣播,如BOOT_COMPLETEDBATTERY_CHANGED

由於這個原因,myApp1中的接收器僅在您的應用程序中至少打開一次UI的情況下才有效。

+0

thx,但這不是完整的答案。 – OlehB 2013-02-23 17:33:50

+0

@ user1807110它完全回答你的問題。你覺得缺少什麼? – 2013-02-23 17:34:32

+0

「我該如何解決它?」 - 我在網上找到答案。 – OlehB 2013-02-23 17:50:41

相關問題