Как решить java.lang.NoSuchMethodError: android.content.pm.PackageManager.currentToCanonicalPackageNames - PullRequest
1 голос
/ 29 октября 2011

Я получил это исключение

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[])

согласно dev doc

Проблема возникаетустройство Moto Milestone, с 2.1-update1 Android версии.

Это из-за модифицированного ПЗУ от Moto?

Любой совет приветствуется.

1 Ответ

1 голос
/ 29 октября 2011

Метод, который вы пытаетесь использовать, был представлен в 2.2 (версия 8), поэтому на устройстве 2.1 вы вряд ли найдете его.

Проверьте версию сборки, прежде чем пытаться использовать класс, вызывающий этот метод, или сделать забавный обходной путь, используя отражение?

...