My App have a code segment that get installed applications in phone. and I use the getInstalledPackages API. and I found this will make my application crash and I will get java.lang.RuntimeException: Package manager has died
.
My question is why it it happened and how to solve it(to get installed applications) by this way or other way?
this is one of the reports:
at android.app.ApplicationPackageManager.getApplicationInfo(ApplicationPackageManager.java:224)
at com.baidu.location.ae.a(Unknown Source)
at com.baidu.location.LocationClient.getAccessKey(Unknown Source)
at com.baidu.location.LocationClient.cy(Unknown Source)
at com.baidu.location.LocationClient.do(Unknown Source)
at com.baidu.location.LocationClient$a.handleMessage(Unknown Source)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.java:5050)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:805)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:621)
at dalvik.system.NativeStart.main(Native Method)
Caused by: android.os.DeadObjectException
at android.os.BinderProxy.transact(Native Method)
at android.content.pm.IPackageManager$Stub$Proxy.getApplicationInfo(IPackageManager.java:1740)
at android.app.ApplicationPackageManager.getApplicationInfo(ApplicationPackageManager.java:219)