Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/205.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 来自另一个应用程序的开放应用程序中的问题_Java_Android_Android Package Managers - Fatal编程技术网

Java 来自另一个应用程序的开放应用程序中的问题

Java 来自另一个应用程序的开放应用程序中的问题,java,android,android-package-managers,Java,Android,Android Package Managers,我正在制作一个应用程序,在其中我可以获得手机上安装应用程序的列表,然后点击并从我的应用程序中打开这些应用程序。但这里的问题出现在CATEGORY\u启动器中,它给出了空指针 我的日志猫输出:: 05-30 14:34:33.876: E/Handler(14042): Failed to handle callback; interface not implemented, callback:android.view.View$PerformClick@40e35d70 05-30 14:34:

我正在制作一个应用程序,在其中我可以获得手机上安装应用程序的列表,然后点击并从我的应用程序中打开这些应用程序。但这里的问题出现在
CATEGORY\u启动器中,它给出了空指针

我的日志猫输出::

05-30 14:34:33.876: E/Handler(14042): Failed to handle callback; interface not implemented, callback:android.view.View$PerformClick@40e35d70
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)
我的代码:: 更新

 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);

                            }

                        }

                    }

                });

如果您是从后台启动应用程序,则必须在您的意图对象中使用
addFlags
FLAG\u ACTIVITY\u NEW\u TASK
FLAG\u from\u background
设置为:

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中提取包名和活动名的,我不知道你有什么问题,你必须粘贴更多的代码

但你们必须看教程,因为它处理的问题和你们的相同

  • 在列表视图中列出手机上安装的所有应用程序
  • 通过调用其启动意图来启动单击的应用程序

  • 下载附带的代码

    发布您的代码,如果onclick中出现空指针异常,请参见GetAllApp的第83行。java@K_Anas我必须更新它