2016-06-29 3 views
1

우리는 하나의 장치 유형에서만 응용 프로그램을 사용하기 때문에이 오류가 자주 발생합니다.패키지 관리자가 사망했습니다. DeadObjectException

패키지 매니저에 대한 유일한 인스턴스는 BootupReceiver입니다 :

public class RestartHelper extends BroadcastReceiver 
{ 
    @Override 
    public void onReceive(Context context, Intent intent) { 
      Logger.getInstance().Log("Restart received"); 

      Intent i = context.getPackageManager().getLaunchIntentForPackage(context.getPackageName()); 
      i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
      context.startActivity(i); 
    } 
} 

예외 :

java.lang.RuntimeException: Unable to start activity ComponentInfo{com.test/com.test.MainActivity}: java.lang.RuntimeException: Package manager has died 
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2338) 
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2390) 
    at android.app.ActivityThread.access$800(ActivityThread.java:151) 
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1321) 
    at android.os.Handler.dispatchMessage(Handler.java:110) 
    at android.os.Looper.loop(Looper.java:193) 
    at android.app.ActivityThread.main(ActivityThread.java:5292) 
    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:824) 
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:640) 
    at dalvik.system.NativeStart.main(Native Method) 
Caused by: java.lang.RuntimeException: Package manager has died 
    at android.app.ApplicationPackageManager.getActivityInfo(ApplicationPackageManager.java:239) 
    at android.support.v4.app.NavUtils.getParentActivityName(NavUtils.java:301) 
    at android.support.v4.app.NavUtils.getParentActivityName(NavUtils.java:281) 
    at android.support.v7.app.AppCompatDelegateImplV7.onCreate(AppCompatDelegateImplV7.java:152) 
    at android.support.v7.app.AppCompatActivity.onCreate(AppCompatActivity.java:60) 
    at com.cotris.roosapp.StandardActivity.onCreate(StandardActivity.java:49) 
    at com.cotris.roosapp.MainActivity.onCreate(MainActivity.java:64) 
    at android.app.Activity.performCreate(Activity.java:5264) 
    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1088) 
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2302) 
    ... 11 more 
Caused by: android.os.DeadObjectException 
    at android.os.BinderProxy.transact(Native Method) 
    at android.content.pm.IPackageManager$Stub$Proxy.getActivityInfo(IPackageManager.java:1791) 
    at android.app.ApplicationPackageManager.getActivityInfo(ApplicationPackageManager.java:234) 
    ... 20 more 

이 오류가 하드웨어/시스템 관련?

at com.cotris.roosapp.StandardActivity.onCreate(StandardActivity.java:49) 

당신의 사람이 있다는 점에서 코드 세부 사항을 확인해야합니다

+0

거기서'PackageManager'를 사용하는 특별한 이유가 있습니까? 왜 당신의'MainActivity'를위한 명백한'의도 (Intent) '를 만들지 않을까요? –

+0

나는 이것을 시도 할 것이다. – Fabian

답변

1

android.os.DeadObjectException은 더 이상 존재하지 않는 것을 링크하는 것을 의미합니다.

내 경우에 대한 해결책은 하드웨어 관련 문제로, 모든 종류의 시스템 프로세스의 충돌이 장치의 백그라운드에서 발생했습니다.

0

는 분명히 다른 PackageManger 통화뿐만 아니라 RestartHelper.java에가있다.