本文介绍了如何消除这种错误? java.lang.reflect.InvocationTargetException的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我添加了所有所需的权限
PackageManager packageManager = context.getPackageManager(); 类<> [] C =新等级[2]; C [0] =为String.class; C [1] = IPackageDataObserver.class; 尝试 { 对象cleardata = packageManager.getClass()实现getMethod(clearApplicationUserData,C)。 [对象] 0 =新的对象[2]; Ø[0] =将String.valueOf(my.app.withdata); 问题o [1] =新ClearApplicationDataObserver(); ((法)cleardata).invoke(packageManager,O); } 赶上(例外五){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):在java.lang.reflect.Method.invokeNative(本机方法) 02-02 16:08:26.738:W / System.err的(709):在java.lang.reflect.Method.invoke(Method.java:511) 02-02 16:08:26.738:W / System.err的(709):在fcvClearUserDataUsingInterfaceActivity.run1(ClearUserDataUsingInterfaceActivity.java:105) 02-02 16:08:26.778:W / System.err的(709):在fcvClearUserDataUsingInterfaceActivity $ 1.运行(ClearUserDataUsingInterfaceActivity.java:52) 02-02 16:08:26.778:W / System.err的(709):在java.lang.Thread.run(Thread.java:856) 02-02 16:08:26.778:W / System.err的(709):java.lang.SecurityException异常:产生的原因无论是用户10048也不是当前进程android.permission.CLEAR_APP_USER_DATA。 02-02 16:08:26.778:W / System.err的(709):在android.os.Parcel.readException(Parcel.java:1327) 02-02 16:08:26.778:W / System.err的(709):在android.os.Parcel.readException(Parcel.java:1281) 02-02 16:08:26.808:W / System.err的(709):在android.content.pm.IPackageManager $存根$ Proxy.clearApplicationUserData(IPackageManager.java:2568) 02-02 16:08:26.808:W / System.err的(709):在android.app.ApplicationPackageManager.clearApplicationUserData(ApplicationPackageManager.java:1006) 02-02 16:08:26.808:W / System.err的(709):... 5个解决方案
尝试添加此权限到应用程序的清单:
android.permission.CLEAR_APP_USER_DATAI added All the needed permissions
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 f.c.v.ClearUserDataUsingInterfaceActivity.run1(ClearUserDataUsingInterfaceActivity.java:105) 02-02 16:08:26.778: W/System.err(709): at f.c.v.ClearUserDataUsingInterfaceActivity$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解决方案
Try adding this permission to your application's Manifest.:
android.permission.CLEAR_APP_USER_DATA
更多推荐
如何消除这种错误? java.lang.reflect.InvocationTargetException
发布评论