1
here에서 브로드 캐스트 수신기를 사용하거나 사용하지 않도록 설정하는 로직이 있습니다. 브로드 캐스트 수신기를 비활성화 할 수 없습니다.
@Override
public void onCheckedChanged(CompoundButton v, boolean checked) {
// TODO Auto-generated method stub
if (v == disableBlock) {
manageBlockSetting(checked);
}
}
private void manageBlockSetting(boolean disable) {
Log.e(tag, "Disable : " + disable);
int flag = disable ? PackageManager.COMPONENT_ENABLED_STATE_DISABLED
: PackageManager.COMPONENT_ENABLED_STATE_ENABLED;
ComponentName component = new ComponentName(SettingActivity.this, PhoneCallReceiver.class);
getApplication().getPackageManager().setComponentEnabledSetting(component, flag, PackageManager.DONT_KILL_APP);
editSharedPreferences(StoreConstantValue.SETTING_DISABLE_BLOCK, disable);
}
그리고
<receiver android:name="com.vsmart.unocaller.blockingservice.PhoneCallReceiver"
android:enabled="true" >
<intent-filter>
<action android:name="android.intent.action.PHONE_STATE" />
</intent-filter>
</receiver>
내가 한 번 사용할 수 있습니다 android:enabled="false"
로 배포 Manifest.xml
에서 . 그러나 나는 무능하게하고 싶다. 아무 일도 일어나지 않고 사용할 수 없습니다. 그것은 여전히 블록 들어오는 호출입니다.내 장치는 안드로이드 2.3.3
어떤 도움 삼성 갤럭시 S2입니까? 감사합니다
감사합니다. 나는 그것을 시도 할 것이다. – SaintTail