2014-04-08 4 views
4

아래 코드를 사용하여 AndroidManifest.xml에 정의 된 정적 BroadcastReceiver를 사용 중지하면 재부팅 한 후에 다시 활성화 할 예정입니까? 그것은 보이지 않지만 문서는해야하는지 여부를 말하지 않습니다. 사전에PackageManager.getComponentEnabledSettings()는 콜드 스타트 ​​사이에서 지속됩니까?

final ComponentName compName = 
     new ComponentName(context, 
     MyBroadcastReceiver.class); 

context.getPackageManager().setComponentEnabledSetting(
     compName, 
     PackageManager.COMPONENT_ENABLED_STATE_DISABLED, 
     PackageManager.DONT_KILL_APP); 

감사합니다 ...

답변

6

차가운 시작 사이의 지속적인 PackageManager.getComponentEnabledSettings을()인가?

예. 응용 프로그램 제거/재설치시 재설정됩니다. setComponentEnabledSetting()으로 직접 재설정하면 재설정됩니다. 수퍼 유저 권한이있는 사용자가 재설정하면 재설정됩니다 (예 : 기기에 ACTION_BOOT_COMPLETED을 제어 할 수있는 관리자 앱이 있음). 그리고 그 시나리오를 시도하지 않았기 때문에 앱 업그레이드에서 어떤 일이 발생하는지 잘 모르겠습니다. 그렇지 않으면 영구적으로 유지되어야합니다.

AndroidManifest.xml에 정의 된 정적 BroadcastReceiver를 비활성화하기 위해 아래 코드를 사용하는 경우 재부팅 후 다시 활성화됩니까?