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