如何解决java.lang.NoSuchMethodError:android.content.pm.PackageManager.currentToCanonicalPackageNames

时间:2011-10-29 03:52:58

标签: android milestone

我得到了这个例外

01-03 00:28:43.465 E/AndroidRuntime(13556): java.lang.NoSuchMethodError: android.content.pm.PackageManager.currentToCanonicalPackageNames
01-03 00:28:43.465 E/AndroidRuntime(13556):     at com.android.DL_launcher.LauncherProvider$DatabaseHelper.addAppShortcut(LauncherProvider.java:632)
01-03 00:28:43.465 E/AndroidRuntime(13556):     at com.android.DL_launcher.LauncherProvider$DatabaseHelper.loadFavorites(LauncherProvider.java:596)
01-03 00:28:43.465 E/AndroidRuntime(13556):     at com.android.DL_launcher.LauncherProvider$DatabaseHelper.onCreate(LauncherProvider.java:253)
01-03 00:28:43.465 E/AndroidRuntime(13556):     at android.database.sqlite.SQLiteOpenHelper.getWritableDatabase(SQLiteOpenHelper.java:106)
01-03 00:28:43.465 E/AndroidRuntime(13556):     at com.android.DL_launcher.LauncherProvider.query(LauncherProvider.java:111)
01-03 00:28:43.465 E/AndroidRuntime(13556):     at android.content.ContentProvider$Transport.query(ContentProvider.java:130)
01-03 00:28:43.465 E/AndroidRuntime(13556):     at android.content.ContentResolver.query(ContentResolver.java:202)
01-03 00:28:43.465 E/AndroidRuntime(13556):     at com.android.DL_launcher.LauncherModel$DesktopItemsLoader.updateShortcutLabels(LauncherModel.java:1134)
01-03 00:28:43.465 E/AndroidRuntime(13556):     at com.android.DL_launcher.LauncherModel$DesktopItemsLoader.load_workspace(LauncherModel.java:877)
01-03 00:28:43.465 E/AndroidRuntime(13556):     at com.android.DL_launcher.LauncherModel$DesktopItemsLoader.run(LauncherModel.java:864)
01-03 00:28:43.465 E/AndroidRuntime(13556):     at java.lang.Thread.run(Thread.java:1096)

使用此方法时

android.content.pm.PackageManager.currentToCanonicalPackageNames(String[])

根据the dev doc

问题出现在设备Moto Milestone上,2.1-update1 Android版本。

这是因为Moto修改了ROM吗?

感谢任何建议。

1 个答案:

答案 0 :(得分:1)

您尝试使用的方法是在2.2(版本8)中引入的,因此使用2.1设备时您不太可能找到它。

在尝试使用调用该方法的类或使用反射做一个时髦的解决方法之前检查构建版本?