如何删除此错误? java.lang.reflect.InvocationTargetException

我添加了所有必需的权限

PackageManager packageManager = context.getPackageManager(); Class [] c = new Class[2]; c[0] = String.class; c[1] = IPackageDataObserver.class; try { Object cleardata = packageManager.getClass().getMethod("clearApplicationUserData", c); Object[] o = new Object[2]; o[0] = String.valueOf("my.app.withdata"); o[1] = new ClearApplicationDataObserver(); ((Method)cleardata).invoke(packageManager, o); } catch(Exception e) {e.printStackTrace(); } 02-02 16:08:26.629: W/System.err(709): java.lang.reflect.InvocationTargetException 02-02 16:08:26.678: W/System.err(709): at java.lang.reflect.Method.invokeNative(Native Method) 02-02 16:08:26.738: W/System.err(709): at java.lang.reflect.Method.invoke(Method.java:511) 02-02 16:08:26.738: W/System.err(709): at fcvClearUserDataUsingInterfaceActivity.run1(ClearUserDataUsingInterfaceActivity.java:105) 02-02 16:08:26.778: W/System.err(709): at fcvClearUserDataUsingInterfaceActivity$1.run(ClearUserDataUsingInterfaceActivity.java:52) 02-02 16:08:26.778: W/System.err(709): at java.lang.Thread.run(Thread.java:856) 02-02 16:08:26.778: W/System.err(709): Caused by: java.lang.SecurityException: Neither user 10048 nor current process has android.permission.CLEAR_APP_USER_DATA. 02-02 16:08:26.778: W/System.err(709): at android.os.Parcel.readException(Parcel.java:1327) 02-02 16:08:26.778: W/System.err(709): at android.os.Parcel.readException(Parcel.java:1281) 02-02 16:08:26.808: W/System.err(709): at android.content.pm.IPackageManager$Stub$Proxy.clearApplicationUserData(IPackageManager.java:2568) 02-02 16:08:26.808: W/System.err(709): at android.app.ApplicationPackageManager.clearApplicationUserData(ApplicationPackageManager.java:1006) 02-02 16:08:26.808: W/System.err(709): ... 5 more 

nvocationTargetException是由于系统无法调用活动,并且因为活动上有另一个错误,请检查真正的问题是:java.lang.SecurityException:用户10048和当前进程都没有android.permission.CLEAR_APP_USER_DATA。 因为你需要在android清单文件中设置此权限。

尝试将此权限添加到您的应用程序的Manifest:

 android.permission.CLEAR_APP_USER_DATA