调用手机里其他应用分享链接,图片

1.分享链接

 private void shareTextUrl() {
        Intent share = new Intent(android.content.Intent.ACTION_SEND);
        share.setType("text/plain");
        share.addFlags(Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET);
 
        share.putExtra(Intent.EXTRA_SUBJECT, "Title Of The Post");
        share.putExtra(Intent.EXTRA_TEXT, "http://www.codeofaninja.com");
 
        startActivity(Intent.createChooser(share, "Share link!"));
    }

2.分享图片

 private void shareImage() {
        Intent share = new Intent(Intent.ACTION_SEND);
 

        // setType("image/png"); OR for jpeg: setType("image/jpeg");
        share.setType("image/*");
 
      
        String imagePath = Environment.getExternalStorageDirectory()
                + "/myImage.png";
 
        File imageFileToShare = new File(imagePath);
 
        Uri uri = Uri.fromFile(imageFileToShare);
        share.putExtra(Intent.EXTRA_STREAM, uri);
 
        startActivity(Intent.createChooser(share, "Share Image!"));
    }

3.定向用某个应用分享

private void initShareIntent(String type) {
        boolean found = false;
        Intent share = new Intent(android.content.Intent.ACTION_SEND);
        share.setType("text/plain");

        // gets the list of intents that can be loaded.
        List resInfo = getPackageManager().queryIntentActivities(share, 0);
        if (!resInfo.isEmpty()){
            for (ResolveInfo info : resInfo) {
                Log.e(TAG, "initShareIntent: package name---"+ info.activityInfo.packageName);
                if (info.activityInfo.packageName.contains(type) ||
                        info.activityInfo.name.contains(type) ) {
                    share.putExtra(Intent.EXTRA_SUBJECT,  "subject");
                    share.putExtra(Intent.EXTRA_TEXT,     share_url);
                    //share.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(new File(myPath)) ); // Optional, just if you wanna share an image.
                    share.setPackage(info.activityInfo.packageName);
                    found = true;
                    break;
                }
            }
            if (!found)
                return;

            startActivity(Intent.createChooser(share, "Select"));
        }
    }

调用时,如用qq分享

initShareIntent("qq");

你可能感兴趣的:(URI,Intent,image)