如何从谷歌加上获得图像同步的SD卡路径?

时间:2014-01-17 12:18:43

标签: android image upload sync

我可以获取本地图片的SD卡路径,但无法使用google plus,dropbox等获取非本地图片同步的路径。

我的代码如下: -

       @Override
                public void onClick(View v) {
                    // TODO Auto-generated method stub
                    if(v == imgSelectPhoto){
                        Intent i = new Intent(Intent.ACTION_PICK,
                                android.provider.MediaStore.Images.Media.INTERNAL_CONTENT_URI);
                        startActivityForResult(i, 0);
                    }
                  }

        @Override
        protected void onActivityResult(int requestCode, int resultCode, Intent data) {
            // TODO Auto-generated method stub
            super.onActivityResult(requestCode, resultCode, data);
            switch (requestCode) {
            case 0:
                if(resultCode == RESULT_OK) {

                    try
                    {

                    DisplayImageOptions options;
                    options = new DisplayImageOptions.Builder()
                    .showStubImage(R.drawable.ic_stub)
                    .showImageForEmptyUri(R.drawable.ic_empty)
                    .showImageOnFail(R.drawable.ic_error).cacheInMemory()
                    .cacheOnDisc().bitmapConfig(Bitmap.Config.RGB_565).build();
                    imageLoader = ImageLoader.getInstance();
                    imageLoader.init(ImageLoaderConfiguration.createDefault(getApplicationContext()));
                    imageLoader.displayImage(data.getData().toString(), imgImagePreview, options);
                    //imgImagePreview.setImageURI(data.getData());
                    fileUrl = getRealPathFromURI(data.getData());
                    Log.w("TEST","ImageURI : "+ data.getData()+" Path : "+ fileUrl);
                    }
                    catch(Exception  e)
                    {

                    }
            objAdapter.InsertLocalImage(fieldNotes, displayName, fileLargerName, fileUrl)
                }
            }
        }

        public String getRealPathFromURI(Uri contentUri) {
            String[] proj = { MediaStore.Images.Media.DATA };
            Cursor cursor = managedQuery(contentUri, proj, null, null, null);
            int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
            cursor.moveToFirst();
            return cursor.getString(column_index);
        }

logcat的: -

01-17 17:50:58.242: W/TEST(11961): ImageURI : content://com.sec.android.gallery3d.provider/picasa/item/5955342059370063154 Path : https://lh4.googleusercontent.com/-vAwMltvVVdE/UqWgDNyyJTI/AAAAAAAABtc/IiAikNj0uwI/I/20131209_162222.jpg

如果有人有想法请回复。 提前谢谢......

1 个答案:

答案 0 :(得分:0)

您无法访问任何路径。从来没有content:// Uri - 您使用的代码将不可靠。

使用ContentResolveropenInputStream()(或openOutputStream())来使用content:// Uri引用的数据。