Bằng cách sử dụng trình quản lý gói, bạn có thể bật hoặc tắt thành phần được khai báo trong tệp kê khai Có hai cờ PackageManager.COMPONENT_ENABLED_STATE_DISABLED cho thành phần vô hiệu hóa và PackageManager.COMPONENT_ENABLED_STATE_ENABLED cho thành phần bật.
PackageManager pm = getApplicationContext().getPackageManager();
ComponentName componentName = new ComponentName("com.app",
".broadcast_receivers.OnNetworkChangedReceiver");
pm.setComponentEnabledSetting(componentName,
PackageManager.COMPONENT_ENABLED_STATE_DISABLED,
PackageManager.DONT_KILL_APP);
Android manifest:
<receiver android:name=".broadcast_receivers.OnNetworkChangedReceiver"
android:enabled="true">
<intent-filter>
<action android:name="android.net.conn.CONNECTIVITY_CHANGE"/>
</intent-filter>
</receiver>
Nguồn
2013-07-01 17:11:49
Cùng mã cả hai cho phép và vô hiệu hóa các thành phần hoặc là có một sự khác biệt tinh tế? – scibor
Nevermind, bạn đã trả lời, nhờ – scibor
cho thành phần vô hiệu hóa PackageManager.COMPONENT_ENABLED_STATE_DISABLED và cho phép thành phần PackageManager.COMPONENT_ENABLED_STATE_ENABLED –