首页 > 解决方案 > 通过分享意图分享图像到 Whatsapp

问题描述

这是我通过它将我的图像或视频从适配器共享到 WhatsApp 的代码,它工作正常,但现在只显示吐司没有安装什么应用程序代码中是否有任何问题我遗漏了什么?

public void shareWhatsapp(String type, String path, String package_name) {

        Uri uri = FileProvider.getUriForFile(mFragment, BuildConfig.APPLICATION_ID + ".provider", new File(path));

        PackageManager pm = mFragment.getPackageManager();
        try {
            PackageInfo info = pm.getPackageInfo(package_name, PackageManager.GET_META_DATA);
            Intent sharingIntent = new Intent(Intent.ACTION_SEND);
            sharingIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
            sharingIntent.setType(type);
            sharingIntent.putExtra(Intent.EXTRA_STREAM, uri);
            sharingIntent.setPackage(package_name);
            mFragment.startActivity(Intent.createChooser(sharingIntent, "Share via"));
        } catch (PackageManager.NameNotFoundException e) {
            Toast.makeText(mFragment, "WhatsApp not Installed", Toast.LENGTH_SHORT)
                    .show();
        }
    }

这是听众

   holder.repostWhatsapp.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                final ModelStatus curVideo = getItem(position);
                if (curVideo.getFull_path().endsWith(".jpg")) {
                    shareWhatsapp("image/jpg", curVideo.getFull_path(), "com.whatsapp");
                } else if (curVideo.getFull_path().endsWith(".mp4")) {
                    shareWhatsapp("video/mp4", curVideo.getFull_path(), "com.whatsapp");
                }
            }
        });

标签: androidandroid-intentwhatsappshare-intent

解决方案


使用以下代码将图像或视频分享到 whatsapp

 holder.repostWhatsapp.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
              Uri uri = FileProvider.getUriForFile(PdfRendererActivity.this, 
              PdfRendererActivity.this.getPackageName() + ".provider", outputFile);
        
                 if (curVideo.getFull_path().endsWith(".jpg")) {
                            shareWhatsapp("image/jpg", uri);
                        } else if (curVideo.getFull_path().endsWith(".mp4")) {
                            shareWhatsapp("video/mp4", uri);
                        } 
                    }
                });

  

分享WhatsApp

void shareWhatsapp(String type, String uri)
{
Intent share = new Intent();
share.setAction(Intent.ACTION_SEND);
share.setType(type);
share.putExtra(Intent.EXTRA_STREAM, uri);
share.setPackage("com.whatsapp");
startActivity(share);
}

推荐阅读