본문 바로가기

Android/BroadCastReceiver

안드로이드/Android 브로드캐스트리시버(BroadCastReceiver) 에서 Activity 호출시 주의사항!

안드로이드/Android 브로드캐스트리시버(BroadCastReceiver) 에서 Activity 호출시 주의사항!




브로드캐스트리시버(BroadCastReceiver) 를 사용하면서 Activity를 호출 하게 되는 경우가 발생하게 되는데요. 브로드캐스트리시버(BroadCastReceiver)에서 Activity를 호출할 경우에 주의 사항이 있습니다.


AndroidManifest.xml 파일에 해당 Activity의 <intent-filter> 속성에  아래의 속성을 추가해 주어야 합니다.

<category android:name="android.intent.category.DEFAULT"/>

Activity에서 다른 Activity를 를 호출하게 되면, 자동으로 위의 카타고리 속성이 추가되어 intent를 호출하시만, Activity 이외의 다른 컴포넌트들에서는 <category android:name="android.intent.category.DEFAULT"/> 카타고리를 자동으로 추가해 주지 않기 때문에, 해당 카타고리를 꼭 추가해 주어야만 해당 Acitivity를 호출할 수 있게 됩니다. 



 <activity 
        android:name=".CalledActivity">
          <intent-filter>
                <action android:name="arabiannight.tistory.com.widget.CALL_ACTIVITY"/>
                <category android:name="android.intent.category.DEFAULT"/>
          </intent-filter>
 </activity>