在AndroidManifest.xml中卸载包装,并具有活动和意图



我想在安装新版本的应用程序时要卸载我的应用的旧版本(我在应用程序的新版本中更改了软件包名称(。
我将以下代码添加到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" />

安装新应用时如何卸载应用程序?

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

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

和这样的调用方法:

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

最新更新