반응형

 

 

<receiver android:name=".MyBroadcastReceiver"  android:exported="true">
    <intent-filter>
        <action android:name="android.intent.action.BOOT_COMPLETED"/>
        <action android:name="android.intent.action.INPUT_METHOD_CHANGED" />
    </intent-filter>
</receiver>

 

public class MyBroadcastReceiver extends BroadcastReceiver {
        private static final String TAG = "MyBroadcastReceiver";
        @Override
        public void onReceive(Context context, Intent intent) {
            StringBuilder sb = new StringBuilder();
            sb.append("Action: " + intent.getAction() + "\n");
            sb.append("URI: " + intent.toUri(Intent.URI_INTENT_SCHEME).toString() + "\n");
            String log = sb.toString();
            Log.d(TAG, log);
            Toast.makeText(context, log, Toast.LENGTH_LONG).show();
        }
    }

정적리시버는

- 브로드캐스트가 보내질 떄, 시스템은 이 앱을 실행시킴 (앱이 아직 실행되지 않았으면)

- 시스템 패키지 매니저가 앱을 설치할 때 이 receiver를 등록함.

- 그 리시버는 앱 안에서 분리된 엔트리 포인트가 됨.

- 그 말은 시스템이 앱을 시작할 수 있고 앱이 현재 진행중이지 않을 때 broadcast를 전달할 수 있음.

 

- 시스템은 그것을 받은 각각의 broadcast를 처리하기 위해 새로운 BroadcastReciver 컴포넌트 오브젝트를 생성함,

- 이 오브젝트는 onReceive에 오직 call 기간 동안 유효함.

- 만약 이 method로 부터 code가 returns하면 시스템은 그 컴포넌트를 더이상 활성화 되어있지 않다고 생각함.

 

 

 

 

developer.android.com/guide/components/broadcasts#java

반응형

'Android' 카테고리의 다른 글

[Android Studio] 자동 Gradle 방지, 프로젝트로 열기  (0) 2021.05.08
[Android] Log Level  (0) 2021.03.11
Android.bp 파일이란?  (0) 2021.02.18
[Android Studio] Bundle값 출력  (0) 2021.01.22
Junit4 Annotation 목록들  (0) 2020.12.10