2012-06-02 9 views
5

Uygulamamın "Tümünü kullanarak eylemi ..." iletişim kutusu aracılığıyla telefon çağrıları için bir işleyici kaydedilmesini istiyorum.Bir etkinlikte bir alıcıdaki bir amaç filtresinin bildirilmesi arasındaki fark nedir?

<activity android:name="my.class"> 
     <intent-filter> 
      <action android:name="android.intent.action.CALL_PRIVILEGED" /> 
      <category android:name="android.intent.category.DEFAULT" /> 
      <data android:scheme="tel" /> 
     </intent-filter> 
    </activity> 

ama bir yayın alıcısı olarak kayıt eğer, benim app kullanarak "Komple eylem görünmüyor ...: Benim manifest'te aşağıdaki sözdizimini kullanın eğer çalıştığını tespit ettik iletişim kutusu.

<receiver android:name="my.class"> 
     <intent-filter> 
      <action android:name="android.intent.action.CALL_PRIVILEGED" /> 
      <category android:name="android.intent.category.DEFAULT" /> 
      <data android:scheme="tel" /> 
     </intent-filter> 
    </receiver> 

ayrı bir Niyet filtreyle eşleşirse kez çağrılacak gidiyor sınıfın türünden ikisi arasındaki fark nedir?

cevap

6

Fark açık: Birincisi bir Activity başlatmayı dener, ikincisi ise BroadcastReceiver'u çalıştırır. Ne kullanacağınız, neye ulaşmak istediğinize bağlıdır; Bir olayı yakalamak istediğinizde BroadcastReceiver kullanın, ancak kullanıcıya hiçbir şey göstermek istemezsiniz.

+0

Bir Etkinlik ile BroadcastReceiver arasındaki farkı anlıyorum, ancak sorduğum soru, Android OS'nin bunları nasıl ele aldığı konusunda herhangi bir farklılık olup olmadığı ile ilgili. Örneğin, yalnızca OS varsayılanları seçicisinde Etkinlikler gibi görünüyor. Böyle başka yaka var mı? – bmajz

İlgili konular