在androidManifest.xml中卸载包含activity和intent的包

时间:2018-03-31 10:20:56

标签: android install uninstall

我想在安装我的应用程序的新版本时卸载我的应用程序的旧版本(我在我的应用程序的新版本中更改了包名称)。
我将以下代码添加到androidManifest.xml但无法删除旧版本。

<activity android:configChanges="orientation|keyboardHidden|screenSize" android:launchMode="singleTop" android:name="uninstallerOldVersionActivity" android:screenOrientation="portrait" android:theme="@android:style/Theme.DeviceDefault.Dialog.NoActionBar">
        <intent-filter>
            <action android:name="android.intent.action.VIEW" />
            <action android:name="android.intent.action.DELETE" />
            <action android:name="android.intent.action.UNINSTALL_PACKAGE" />
            <category android:name="android.intent.category.DEFAULT" />
            <data android:scheme="com.ionicframework.discountnetmobile728945" />
        </intent-filter>
</activity>
androidManifest.xml中的

权限:

<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-feature android:name="android.hardware.location.gps" />
<uses-permission android:name="android.permission.READ_CONTACTS" />
<uses-permission android:name="android.permission.WRITE_CONTACTS" />
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.DELETE_PACKAGES" />

如何在安装新应用时卸载应用?

1 个答案:

答案 0 :(得分:0)

您将需要运行时类。您可以使用此方法卸载旧包。

    private void runShellCommand(String command) throws Exception {
    Process process = Runtime.getRuntime().exec(command);
    process.waitFor();
}

并调用这样的方法:

runShellCommand("pm uninstall 'Package name of the old app'");