1
我在Uri中使用了Content Provider發送文件。我用下面的代碼執行此操作:圖片使用Android內容提供商通過Instagram進行分享時破碎了圖片
public Uri fileSharingUsingContentProvider(File tempFile)
{
String filePath = tempFile.getAbsolutePath(); // tempFile is the image file ....
Cursor mCursor = this.getApplicationContext().getContentResolver().query(
MediaStore.Images.Media.EXTERNAL_CONTENT_URI,
new String[] { MediaStore.Images.Media._ID },
MediaStore.Images.Media.DATA + "=? ",
new String[] { filePath }, null);
if(mCursor != null && mCursor.moveToFirst()){
int id = mCursor.getInt(mCursor.getColumnIndex(MediaStore.MediaColumns._ID));
Uri baseUri = Uri.parse("content://media/external/images/media");
Trace.d(TAG,"<==> The baseUri after parsing : " + Uri.withAppendedPath(baseUri, ""+id));
return Uri.withAppendedPath(baseUri, "" + id);
}
else {
if (tempFile.exists()) {
ContentValues values = new ContentValues();
values.put(MediaStore.Images.Media.DATA, filePath);
return this.getApplicationContext().getContentResolver().insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, values);
}
else {
return null;
}
}
}
但問題是,當我嘗試通過的Instagram分享,這個代碼完全適用於所有的設備除了的Galaxy Note 2映像文件是破。我嘗試了幾種方法,但未能解決問題。如果有人對此有任何想法,請幫助我。
在此先感謝。