我正在尝试卸载盗版应用程序。我的 sdk 中没有以下导入。
import android.app.PackageDeleteObserver;
import android.content.pm.IPackageDeleteObserver;
IPackageDeleteObserver
所以我从这里https://github.com/android/platform_frameworks_base/blob/master/core/java/android/content/pm/IPackageInstallObserver2.aidl得到了界面,我把它放在了 android/content/pm 但我的 android studio没有检测到它。下拉菜单不显示android.content.pm.IPackageDeleteObserver
。有人知道如何解决这些进口问题吗?
这是整个代码:
package com.vivek.light.utils;
/**
* Created by Shiva on 24-07-2015.
*/
import android.app.PackageDeleteObserver;
import android.content.pm.IPackageDeleteObserver;
import android.content.pm.PackageManager;
import android.os.RemoteException;
import android.util.Log;
import java.lang.reflect.Method;
import static com.vivek.light.utils.AntiPiracyConstants.*;
public class AntiPiracyUtils {
static final String TAG = "ANTI-PIRACY: Utilities";
private static PackageDeleteObserver sPDO;
private AntiPiracyUtils() {
sPDO = getPackageDeleteObserver();
}
private static Class<?>[] UNINSTALLTYPES = new Class[] {
String.class, IPackageDeleteObserver.class, int.class
};
public static class PackageDeleteObserver extends IPackageDeleteObserver.stub {
public void packageDeleted(String packageName, int returnCode) throws RemoteException {
if (DEBUG) Log.i(TAG, "PackageDeleteObserver: " + packageName + " removed");
}
}
public static PackageDeleteObserver getPackageDeleteObserver() {
if (sPDO == null) sPDO = new PackageDeleteObserver();
return sPDO;
}
public static Method getUninstallTypes(PackageManager pm) throws NoSuchMethodException {
try {
return pm.getClass().getMethod("deletePackage", UNINSTALLTYPES);
} catch (NoSuchMethodException WTF) {
Log.e(TAG, "NoSuchMethodException" + l);
}
return null;
}
}