这是我的代码:
private ArrayList<PInfo> getSelectedPackages() {
ArrayList<PInfo> apps = new ArrayList<PInfo>();
for (String aname : Lock.getAllowedApps()) {
try {
PackageInfo pi = getPackageManager().getPackageInfo(aname, 0);
PInfo newInfo = new PInfo(pi.applicationInfo, getPackageManager());
apps.add(newInfo);
} catch (NameNotFoundException e) {
ErrorReporter.getInstance().handleSilentException(e);
}
}
return apps;
}
崩溃的行是:
PackageInfo pi = getPackageManager().getPackageInfo(aname, 0);
这没有任何意义,因为我正在捕获错误。希望有人能告诉我我做错了什么,或者这是 Android 的某种错误。这是日志显示的内容:
android.content.pm.PackageManager$NameNotFoundException: com.teachersparadise.dinosaurscoloringbook at android.app.ContextImpl$ApplicationPackageManager.getPackageInfo(ContextImpl.java:1725) at com.nyanapps.lockfortots.free.Home.getSelectedPackages(Home.java:179)
最佳答案
您可能想要确定您的包名称字符串的格式是否正确,并且您可能没有捕获到正确的异常。
注意异常是 PackageManager.NameNotFoundException
http://developer.android.com/reference/android/content/pm/PackageManager.NameNotFoundException.html
关于java - 我的 Android 应用程序崩溃了,即使我捕获了它所说的导致崩溃的异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9865262/