मैं 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 उपकरणों मैं हाथ पर है ।
हाल ही में मैंने अपने उपयोगकर्ताओं से त्रुटि रिपोर्ट प्राप्त करना शुरू कर दिया और त्रुटि लॉग दिखाता है कि हल करेंActivityInfo विफल हो रहा है। यह केवल एंड्रॉइड 2.1 अपडेट 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)
या
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 हैं एनजी आपके कोड से नहीं दिखता है। शायद यह एक छोटी गाड़ी वाला रॉड है जो कुछ लोग उपयोग कर रहे हैं। प्रतिक्रिया के लिए – CommonsWare
धन्यवाद! मेरे पास अब और अधिक रिपोर्ट हैं - पिछले दो दिनों से 30 से थोड़ा अधिक - वे सभी अलग-अलग वाहकों से सैमसंग फोन से आए हैं और सभी एंड्रॉइड 2.1-अपडेट 1 पर चल रहे हैं। लेकिन मेरे पास एक ही फोन मॉडल का उपयोग कर उपयोगकर्ताओं से 5 स्टार रेट और 2.1 पर भी चल रहा है ... आंकड़े जाओ ... – mishkin