由于Lollipop的许可,无法执行静音APK卸载

时间:2017-01-16 09:33:05

标签: android

我正在为基于Android的标牌开发自定义启动器(使用 MiniPC 而不是设备),并按照此主题开始 - > uninstall app silently with system priveleges启用第三方APK的静默卸载,这是远程安装所必需的。我们的标牌管理员卸载。

我的实现遵循上面代码中的代码,如下所示

private class PackageDeleteObserver extends IPackageDeleteObserver.Stub {
    @Override
    public void packageDeleted(String packageName, int returnCode) throws RemoteException {
    }
}

//.... other codes ... //

@Override
protected void onHandleIntent(Intent intent) {

//.... other codes ... //

    for (int x = 0; x < compliances.size(); x++) {
        deleteObserver = new PackageDeleteObserver();
        packageManager = getPackageManager();
        Class<?>[] uninstalltypes = new Class[] {String.class, IPackageDeleteObserver.class, int.class};
        Method uninstallMethod = packageManager.getClass().getMethod("deletePackage", uninstalltypes);

        AppShortcut asc = compliances.get(x);
        if (existing.contains(asc) && !asc.isInstalled()) {
           uninstallMethod.invoke(packageManager, new Object[] {asc.getName(), deleteObserver, 0});
        }
     }
}

虽然我的带有错误标志的清单如下所示

enter image description here

但我忽略了这些错误标志,并使用Genymotion模拟器我运行它,我在logcat中得到以下错误

enter image description here

如果有人让这个作品帮助我......

0 个答案:

没有答案