解决方案 »

  1.   

    private void sharePhoto(String FilePath){
    Intent sharingIntent = new Intent(Intent.ACTION_SEND);
    sharingIntent.setType("image/jpeg");
    Uri mImageUri = getUri(FilePath);
    Set<Uri> aa = new HashSet<Uri>();
    // Uri uris[] = new Uri[]{mImageUri,mImageUri,mImageUri,mImageUri,mImageUri};
    sharingIntent.putExtra(Intent.EXTRA_STREAM, mImageUri);
    PackageManager packageManager = this.getPackageManager();
    List<ResolveInfo> resolveInfo = packageManager.queryIntentActivities(sharingIntent, PackageManager.MATCH_DEFAULT_ONLY);
    int i = 0;
    while(i < resolveInfo.size()) {
        System.out.println(i + "  " + resolveInfo.get(i).activityInfo.packageName);
        i++;
    }
    startActivity(Intent.createChooser(sharingIntent, "Share"));
    }
    private Uri getUri(String path) {
    Uri mUri = Uri.parse("content://media/external/images/media");
    Uri mImageUri = null;
    Cursor cursor = managedQuery(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, null, null, null,
    MediaStore.Images.Media.DEFAULT_SORT_ORDER);
    cursor.moveToFirst();
    while (!cursor.isAfterLast()) {
    String data = cursor.getString(cursor.getColumnIndex(MediaStore.MediaColumns.DATA));
    if (path.equals(data)) {
    int ringtoneID = cursor.getInt(cursor.getColumnIndex(MediaStore.MediaColumns._ID));
    mImageUri = Uri.withAppendedPath(mUri, "" + ringtoneID);
    break;
    }
    cursor.moveToNext();
    }
    return mImageUri;
    }我现在是这么做的!如果是多张图片的话这个uri该怎么传?以什么方式去传?以前没有弄过这个,也是刚弄android,您帮忙看看呗