Categories: Android

[안드로이드] BroadcastReceiver를 이용하여 Action 처리하기

 다른 어플에서 발생하는 Action이나 Event에 대해서 처리하고 싶은 경우가 발생할 수 있습니다. 이럴때 BroadcastReceiver를 이용하여 해당 기능을 구현할 수 있습니다. 자세한 것은 [이곳]에서 Intent에 대해서 자세하게 살펴보는 것이 도움이 많이 될 것입니다.



– Source

public class IntentReceiver extends BroadcastReceiver {
 
 @Override
    public void onReceive(Context context, Intent intent) {
        String action = intent.getAction();


        if (action.compareTo(Intent.ACTION_PACKAGE_REMOVED) == 0)
        {
            Log.e(“UpdateReceiver”, “ACTION_PACKAGE_REMOVED”);


           Toast.makeText(context, “ACTION_PACKAGE_REMOVED”, Toast.LENGTH_LONG).show();
         }
  }
 }


– Manifest.xml
 
 <receiver android:name=”com.IntentReceiver”>
   <intent-filter>
    <action android:name=”android.intent.action.PACKAGE_ADDED”/>
                <action android:name=”android.intent.action.PACKAGE_REMOVED”/>
                <action android:name=”android.intent.action.PACKAGE_REPLACED”/>
                <data android:scheme=”package”/>
   </intent-filter>
  </receiver>


 위와 같이 Manifest.xml 파일에서 어떠한 action을 받을 것인지 등록을 한 후에 소스에서 해당 action이 왔는지 안왔는지 체크를 하여 로직을 처리할 수 있습니다. 위에 예를 든 소스는 어떠한 다른 패키지가 UnInstall이 되었을때 시점을 잡아서 처리를 하는 것입니다. action 종류에 대해서는 안드로이드 Intent에 대한 설명 페이지에 보면 자세하게 설명이 나와 있습니다.

– 참고 자료
http://www.androidpub.com/41384
http://developer.android.com/reference/android/content/Intent.html

dingpong

Share
Published by
dingpong

Recent Posts

LFS error at git checkout in Jenkins

Problem stdout: stderr: Downloading xxxx.a (83 MB) error: git-lfs smudge -- 'xxxx.a' died of signal…

3년 ago

플레이모빌 크리스마스 XXL 6629 산타 해외직구 구매가 배송비

https://www.playmobil.de/playmobil-xxl-weihnachtsmann/6629.html 구매가 : 48.49 유로 (플레이모빌 독일 홈페이지) 결제하는데 안되서 PayPal 로 결제하니 잘 잔행…

3년 ago

코카콜라 제로 355ml 72캔 구매가 (캔당 453원)

롯데온에서 355ml 24캔 롯데카드로 구매시 13,210원 https://www.lotteon.com/p/product/PD36294 APP으로 35,000원 이상 구매시 7,000 포인트 적립 행사…

4년 ago

경동나비엔 온수매트 EQM541-QS (퀸사이즈) 구입가

구입 매장 : 현대 홈쇼핑 (홈쇼핑 방송 중) 모바일 앱 http://www.hyundaihmall.com/front/pda/itemPtc.do?slitmCd=2114353981 최종 결제 가격 :…

4년 ago

PostMessage에 shared_ptr과 같은 스마트 포인터 넣기

PostMessage의 WPARAM 이나 LPARAM 으로 shared_ptr 와 같은 스마트 포인터 객체를 넘기고 싶은 경우가 있습니다.…

4년 ago

RC2255 – named STRINGTABLEs are not allowed

Visual Studio 에서 작업 중 이러한 컴파일 에러가 발생한 케이스가 있었습니다. 이 경우에는 .rc 파일에…

4년 ago