안드로이드 개발 질문/답변
(글 수 45,052)
<receiver android:name=".Aaa"> <intent-filter> <action android:name="android.intent.action.BOOT_COMPLETED" /> <action android:name="android.intent.action.SCREEN_ON" /> <action android:name="android.intent.action.SCREEN_OFF" /> </intent-filter> </receiver>
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
public class Aaa extends BroadcastReceiver{ @Override public void onReceive(Context context, Intent intent) { String action = intent.getAction(); Log.d("TAG","action : " + action); } }
와 같이 해서 3개의 Broadcast중 수신된 것을 로그에 표시하려고 하는데요
action android:name="android.intent.action.BOOT_COMPLETED"의
경우에는 부팅이 완료되면 로그에 찍히는데, 다른 2개는 화면이 꺼졌다
켜져도 로그가 안찍히고 있어요.
화면의 경우에도 BOOT_COMPLETED처럼 permission이 필요한가요?
아니면 제가 뭘 빼먹고 안한게 있는건가요? 고수님들
답변 부탁드려요...
IntentFilter filter = new IntentFilter(Intent.ACTION_SCREEN_ON);
filter.addAction(Intent.ACTION_SCREEN_OFF);
registerReceiver(new BroadcastReceiver() {...}, filter);
이러한 형태로 명시적 등록을 해 줘야만 사용 가능합니다.