Android在安装更新时重新启用已禁用的应用程序

时间:2013-10-30 10:31:58

标签: android components reinstall

我目前正在禁用应用程序     setApplicationEnabledSetting(String,int,int)

该应用程序实际上是禁用它自己。 我希望在重新安装应用程序后,该应用程序会重新启用,但不是这样。

清单中是否需要特定设置才能完成此项工作。 (我已尝试设置enabled = true)

由于

我目前正在禁用除广播接收器之外的所有组件,并且正试图捕获安装过程以再次重新启用所有其他组件。至少可以说是讨厌的

1 个答案:

答案 0 :(得分:0)

执行此操作的一种方法是收听包安装广播并相应地采取措施。

实施例

<强>清单:

<receiver android:name =".MyReceiver">
    <intent-filter>
        <action android:name="android.intent.action.PACKAGE_ADDED"/>
        <data android:scheme="package" />
    </intent-filter>
</receiver>

<强>接收器:

public class MyReceiver extends BroadcastReceiver {

    @Override
    public void onReceive(Context context, Intent intent) {
        final String action = intent.getAction();
        if (Intent.ACTION_PACKAGE_ADDED.equals(action)) {
            final boolean replacing = intent.getBooleanExtra(Intent.EXTRA_REPLACING, false);
            final String packageName = intent.getData().getSchemeSpecificPart();
            if (replacing && "my.package.name".equals(packageName)) {
                // Re-enable the other components
            }
        }
    }

}

希望这有帮助。