2013-03-09 55 views
0

我想,當我用我的程序爲firt時間讓事件使用Android serives所以我決定使用這項服務我能夠在第一時間我跑我的應用程序

public class PackageChangeReceiver extends BroadcastReceiver { 

    Context context; 

    @Override 
    public void onReceive(Context ctx, Intent intent) { 
}} 

,並在mainfest

<receiver android:name=".PackageChangeReceiver" > 
      <intent-filter> 
       <action android:name="android.intent.action.PACKAGE_REMOVED" /> 
       <action android:name="android.intent.action.PACKAGE_REPLACED" /> 
       <action android:name="android.intent.action.PACKAGE_ADDED" /> 
       <data android:scheme="package" /> 
      </intent-filter> 
     </receiver> 

但這種服務並不在拳頭時間我安裝我的應用程序的工作,我怎麼能讓它在第一次運行?或者這是不可能做到這一點? 我必須從eclipse第二次更新應用程序來使這個服務工作,這是什麼問題。

什麼時候android系統使其服務可以使用,我的心一次,我應該運行我的活動之一,使服務可用,是真的嗎?

回答

2

從Android 3.1開始,任何希望接收廣播的應用程序在Android向其發送任何廣播之前都必須有一個UI組件(即Activity)運行。這是出於安全原因,以防止惡意應用程序自動啓動。

+0

放置eclipse如何替代軟件包時執行此項工作 – 2013-03-09 12:17:18

+1

Eclipse並未真正取代軟件包。它會更新您現有的安裝。如果您在更新之前運行了任何內容,則Android會繼續爲您提供廣播。 – 2013-03-09 12:22:52

相關問題