我使用resolveActivityInfo,以确定是否我的应用程序被设置为家启动:问题与解决活动的意图 - 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();
它在模拟器的伟大工程和三个Android设备我有手。
最近我开始从我的用户获取错误报告,错误日志显示resolveActivityInfo失败。我只能看到在Android 2.1 update 1上运行的几部手机。我收到了很多对我的应用程序的正面评论,并且因为这个问题而收到了一些负面评论。
有什么建议可能是错的?
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)
OR
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)
的特定异常你encounteri ng似乎不是来自您的代码。也许这是一些人正在使用的一种有问题的ROM。 – CommonsWare 2011-02-02 18:02:32
感谢您的回应!我现在有更多的报道 - 过去两天有30多个 - 它们都来自不同运营商的三星手机,并且都运行在android 2.1-update1上。但我也有使用相同的手机型号和运行在2.1的用户5星级的速度...去图... – mishkin 2011-02-03 23:19:35