Tôi đang sử dụng resolveActivityInfo để xác định xem ứng dụng của tôi được thiết lập như là một launcher nhà:vấn đề với việc giải quyết các hoạt động cho một mục đích - resolveActivityInfo()
PackageManager pm = getPackageManager();
Intent intent = new Intent(Intent.ACTION_MAIN, null);
intent.addCategory(Intent.CATEGORY_HOME);
userHomePackage = intent.resolveActivityInfo(pm, 0).packageName;
userHomeActivityClass = intent.resolveActivityInfo(pm, 0).name;
currentHomeLauncherName = intent.resolveActivityInfo(pm, 0).loadLabel(pm).toString();
nó hoạt động tốt trên giả lập và ba thiết bị android tôi có trên tay .
Gần đây tôi bắt đầu nhận được báo cáo lỗi từ người dùng và nhật ký lỗi cho thấy rằng resolveActivityInfo bị lỗi. Điều này xảy ra chỉ trên một vài điện thoại chạy trên Android 2.1 cập nhật 1 như tôi có thể nhìn thấy. Tôi đã nhận được nhiều nhận xét tích cực về ứng dụng của mình và một vài nhận xét tiêu cực vì vấn đề này.
Bất kỳ lời khuyên nào có thể sai?
java.lang.NullPointerException
at android.os.Parcel.readException(Parcel.java:1224)
at android.os.Parcel.readException(Parcel.java:1206)
at android.content.pm.IPackageManager$Stub$Proxy.resolveIntent(IPackageManager.java:1418)
at android.app.ApplicationContext$ApplicationPackageManager.resolveActivity(ApplicationContext.java:2046)
at android.content.Intent.resolveActivityInfo(Intent.java:3790)
at com.myapp.myappname.Launcher.setAsHomeApplicationBeforeFroyo(Launcher.java:336)
HOẶC
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.myapp.myappname/com.myapp.myappname.Launcher}: java.lang.NullPointerException
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2497)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2513)
at android.app.ActivityThread.access$2200(ActivityThread.java:119)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1864)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:123)
at android.app.ActivityThread.main(ActivityThread.java:4370)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:521)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:862)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:620)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.NullPointerException
at android.os.Parcel.readException(Parcel.java:1224)
at android.os.Parcel.readException(Parcel.java:1206)
at android.content.pm.IPackageManager$Stub$Proxy.resolveIntent(IPackageManager.java:1418)
at android.app.ApplicationContext$ApplicationPackageManager.resolveActivity(ApplicationContext.java:2046)
at android.content.Intent.resolveActivityInfo(Intent.java:3790)
at com.myapp.myappname.Launcher.showHomeChooserDialog(Launcher.java:141)
at com.myapp.myappname.Launcher.showNextActivity(Launcher.java:122)
at com.myapp.myappname.Launcher.onCreate(Launcher.java:59)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2460)
... 11 more
java.lang.NullPointerException
at android.os.Parcel.readException(Parcel.java:1224)
at android.os.Parcel.readException(Parcel.java:1206)
at android.content.pm.IPackageManager$Stub$Proxy.resolveIntent(IPackageManager.java:1418)
at android.app.ApplicationContext$ApplicationPackageManager.resolveActivity(ApplicationContext.java:2046)
at android.content.Intent.resolveActivityInfo(Intent.java:3790)
at com.myapp.myappname.Launcher.showHomeChooserDialog(Launcher.java:141)
Trường hợp ngoại lệ đặc biệt mà bạn đang encounteri ng không xuất hiện từ mã của bạn. Có lẽ nó là một ROM modded lỗi mà một số người đang sử dụng. – CommonsWare
cảm ơn bạn đã trả lời! Tôi có nhiều báo cáo hơn bây giờ - một chút hơn 30 trong hai ngày qua - tất cả đều đến từ điện thoại samsung từ các nhà cung cấp dịch vụ khác nhau và tất cả đều chạy trên Android 2.1-update1. Nhưng tôi cũng có tỷ lệ 5 sao từ người dùng sử dụng cùng một kiểu điện thoại và chạy trên 2.1 cũng ... hãy tìm hình ... – mishkin