2012-05-30 1 views
0

Я делаю одно приложение, в котором я получаю список установочного приложения на телефоне, а затем я нажимаю и открываю это приложение из своего приложения. Но здесь проблема рейза в CATEGORY_LAUNCHER дает нулевой указательПроблема в открытом приложении от другого

мой выход LogCat ::

05-30 14:34:33.876: E/Handler(14042): Failed to handle callback; interface not implemented, callback:[email protected] 
05-30 14:34:33.876: E/Handler(14042): java.lang.NullPointerException 
05-30 14:34:33.876: E/Handler(14042): at com.AppFavorits.GetAllApp$1$1.onClick(GetAllApp.java:83) 
05-30 14:34:33.876: E/Handler(14042): at android.view.View.performClick(View.java:3538) 
05-30 14:34:33.876: E/Handler(14042): at android.widget.CompoundButton.performClick(CompoundButton.java:105) 
05-30 14:34:33.876: E/Handler(14042): at android.view.View$PerformClick.run(View.java:14330) 
05-30 14:34:33.876: E/Handler(14042): at android.os.Handler.handleCallback(Handler.java:607) 
05-30 14:34:33.876: E/Handler(14042): at android.os.Handler.dispatchMessage(Handler.java:92) 
05-30 14:34:33.876: E/Handler(14042): at android.os.Looper.loop(Looper.java:154) 
05-30 14:34:33.876: E/Handler(14042): at android.app.ActivityThread.main(ActivityThread.java:4974) 
05-30 14:34:33.876: E/Handler(14042): at java.lang.reflect.Method.invokeNative(Native Method) 
05-30 14:34:33.876: E/Handler(14042): at java.lang.reflect.Method.invoke(Method.java:511) 
05-30 14:34:33.876: E/Handler(14042): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784) 
05-30 14:34:33.876: E/Handler(14042): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551) 
05-30 14:34:33.876: E/Handler(14042): at dalvik.system.NativeStart.main(Native Method) 

мой код для этого :: UPDATE

final Dialog dialog = new Dialog(GetAllApp.this); 
        dialog.setContentView(R.layout.maindialog); 
        dialog.setTitle("This is my custom dialog box"); 
        dialog.setCancelable(true); 
        //there are a lot of settings, for dialog, check them all out! 

        //set up text 
        final RadioButton rdoDialogopen = (RadioButton)dialog.findViewById(R.id.rdoDialogopen); 
        final RadioButton rdoDialogfav = (RadioButton)dialog.findViewById(R.id.rdoDialogfav); 
        final RadioButton rdoDialogopenNfav = (RadioButton)dialog.findViewById(R.id.rdoDialogopenNfav); 

       rdoDialogopen.setOnClickListener(new View.OnClickListener() { 
        public void onClick(View v) { 
         if (rdoDialogopen.isChecked() == true) { 
          if(lstpinfo.get(position).pname !=null) 
          { 
          Intent i = new Intent(Intent.ACTION_MAIN); 
          PackageManager manager = getPackageManager(); 
          i = manager.getLaunchIntentForPackage(lstpinfo 
            .get(position).pname); 
          i.addCategory(Intent.CATEGORY_LAUNCHER); 
          startActivity(i); 

          } 

         } 

        } 

       }); 
+0

разместить свой код у вас есть исключения нулевого указателя в OnClick –

+0

см. строку 83 GetAllApp.java –

+0

@K_Anas У меня есть обновление –

ответ

0

если вы начиная приложение из фона, тогда необходимо установить FLAG_ACTIVITY_NEW_TASK и FLAG_FROM_BACKGROUND u петь addFlags в вашем Intent объекта как:

Intent intent25 = new Intent(Intent.ACTION_MAIN).addCategory(
Intent.CATEGORY_LAUNCHER).setClassName("_APP_PACKAGE_NAME", 
"_APP_PACKAGE_NAME.ACTIVITY_NAME").addFlags(Intent.FLAG_ACTIVITY_NEW_TASK) 
.addFlags(Intent.FLAG_FROM_BACKGROUND).setComponent(new ComponentName("APP_PACKAGE_NAME", 
"APP_PACKAGE_NAME.ACTIVITY_NAME")); 
getApplicationContext().startActivity(intent25); 

я подумываю вы знали, как мы извлекаем имя пакета и имя активности от PackageManager

0

Я не могу понять, что это ваша проблема, вы должны вставить более код!!

, но вы должны увидеть this учебник, поскольку он имеет дело с той же проблемой, как ваш

  1. Список всех установленных приложений на телефоне на ListView
  2. запустить Clicked приложение, вызывая его намерение запуска

загрузить код он прилагается слишком

Смежные вопросы