【问题标题】:Multipicker activity not start in android多选择器活动未在 android 中启动
【发布时间】:2016-06-18 07:05:20
【问题描述】:

我已经从画廊创建了多选择器图像功能。它只能正常工作有时多选择器 Intent 活动没有启动,它显示“没有找到处理 Intent 的活动”错误任何人帮助我解决这个错误。但有时它工作正常。`

btnGalleryPickMul.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {
                Intent i = new Intent(Action.ACTION_MULTIPLE_PICK);
                startActivityForResult(i, 200);
            }
        });

  @Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);

    if (requestCode == 200 && resultCode == Activity.RESULT_OK) {
        String[] all_path = data.getStringArrayExtra("all_path");

        ArrayList<CustomGallery> dataT = new ArrayList<CustomGallery>();


        for (String string : all_path) {
            CustomGallery item = new CustomGallery();
            item.sdcardPath = string;

            dataT.add(item);
            //
            String size=item.sdcardPath;
            Log.d("size--", size);
            image1.add(item.sdcardPath);
            Log.d("map--", String.valueOf(image1));


            ArrayList<String> ImgData =image1;
            Log.d("ImgData--", String.valueOf(ImgData));


            for (int i = 0; i < ImgData.size(); i++) {
                map.add(ImgData.get(i).toString());


            }

        }

        viewSwitcher.setDisplayedChild(0);
        adapter.addAll(dataT);

        new ImageUploadTask()
                .execute(count + "", "pk" + count + ".jpg");
    }
}

Logcat 错误`

FATAL EXCEPTION: main  Process: com.airstar.abservetech.airstar, PID: 5646
                                                                               android.content.ActivityNotFoundException: No Activity found to handle Intent { act=luminous.ACTION_MULTIPLE_PICK }
                                                                                   at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1663)
                                                                                   at android.app.Instrumentation.execStartActivity(Instrumentation.java:1431)
                                                                                   at android.app.Activity.startActivityForResult(Activity.java:3513)
                                                                                   at android.app.Activity.startActivityForResult(Activity.java:3474)
                                                                                   at com.airstar.abservetech.airstar.Add_room$5.onClick(Add_room.java:296)
                                                                                   at android.view.View.performClick(View.java:4508)
                                                                                   at android.view.View$PerformClick.run(View.java:18675)
                                                                                   at android.os.Handler.handleCallback(Handler.java:733)
                                                                                   at android.os.Handler.dispatchMessage(Handler.java:95)
                                                                                   at android.os.Looper.loop(Looper.java:136)
                                                                                   at android.app.ActivityThread.main(ActivityThread.java:5584)
                                                                                   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:1268)
                                                                                   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1084)
                                                                                   at dalvik.system.NativeStart.main(Native Method)

`

【问题讨论】:

    标签: android


    【解决方案1】:

    使用下面的函数创建 Intent 并检查它是否可用

    public static boolean isAvailable(Context ctx, Intent intent) {
       final PackageManager mgr = ctx.getPackageManager();
       List<ResolveInfo> list =
          mgr.queryIntentActivities(intent, 
             PackageManager.MATCH_DEFAULT_ONLY);
       return list.size() > 0;
    }
    

    更新您的代码:

    btnGalleryPickMul.setOnClickListener(new View.OnClickListener() {
    
                @Override
                public void onClick(View v) {
                    Intent i = new Intent(Action.ACTION_MULTIPLE_PICK);
                    if(isAvailable(mContext,i))
                    startActivityForResult(i, 200);
                }
            });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-12-07
      • 1970-01-01
      • 2021-06-24
      • 1970-01-01
      • 2015-04-02
      • 1970-01-01
      相关资源
      最近更新 更多