2012-02-01 69 views
1

我有一個Android應用程序,它偵聽SMS消息。這是在清單:Android廣播接收器安裝後沒有立即調用

<receiver android:name=".IncomingSMSBroadcastReceiver" android:enabled="true"> 
     <intent-filter android:priority="100"> 
      <action android:name="android.provider.Telephony.SMS_RECEIVED"/> 
     </intent-filter> 
</receiver> 

廣播接收器工作正常,如果應用程序安裝並打開。但是我希望接收器能夠在安裝後立即被調用,以防用戶從Android Market網站遠程安裝並且不在手機前。當我使用adb安裝APK

./adb install myapp.apk 

我可以看到應用程序已安裝。但是當我發送短信時,我的應用不響應。在我打開應用程序一次後,看起來所有的初始化都發生在這一點上,現在應用程序對SMS消息作出響應。

一種可能性是亞行安裝與市場安裝不同。

任何想法?

回答

0

您是否在清單中使用權限READ_SMS?

您是如何實現接收器的onReceive()方法的?

你可以發佈接收器的代碼?

+0

我認爲沒有必要張貼code.His接收器工作正常 – Sameer 2012-02-01 08:34:17

+0

是的接收器工作。我希望它在安裝上工作;應用程序不需要打開。 – amit 2012-02-01 09:58:04

0

這是不可能的。 AFAIK,直到接收器沒有註冊,然後它不能檢測到任何action.You沒有任何問題的代碼。但你的接收器將工作,當它啓動一個。爲此,我們必須運行我們的應用程序至少一次。因此,該清單註冊接收器

+0

他們是怎麼做到的? https://market.android.com/details?id=com.lookout.labs.planb – amit 2012-02-01 20:00:59

+0

他沒有提到應用程序不需要運行一次的任何地方.AFAIK這是android的基本概念。您的接收器一旦啓動就會工作 – Sameer 2012-02-02 04:17:01