2015-07-10 2 views
0

Я работаю над приложением для Android, в котором я храню изображение в базах данных, и при отображении времени мой url похож: http://files.parsetfss.com/ee6c904a-c395-4a92-bb80-9fe687901411/tfss-4a6bdb3c-5818-4057-964f-99bcf23f3d35-1425711426766.jpg Я видел коды, чтобы открыть программу просмотра изображений с помощью File имя как следующий код:Открыть программу просмотра изображений из url, хранящейся в базах данных android

Intent intent = new Intent(Intent.ACTION_VIEW, Uri.fromFile(file)); 
      intent.setDataAndType(Uri.fromFile(file),"image/png"); 
      mActivity.startActivity(intent); 

Но проблема в том, что мой URL не в формате файла, в то время вывода изображения я использую следующий код:

String url ""; 
    url = data.getText(); // Coming from the data base as a link 
    Picasso.with(view.getContext()).load(url).into(mHolder.mImgReceived); 

мне нужно открыть средство просмотра изображений из этой ссылки, которая поступает из баз данных http://files.parsetfss.com/ee6c904a-c395-4a92-bb80-9fe687901411/tfss-4a6bdb3c-5818-4057-964f-99bcf23f3d35-1425711426766.jpg. Во время показа его с пикассо он показывает мне картинку, мне нужно открыть то же изображение с помощью средства просмотра изображений. Пожалуйста, помогите мне здесь.

ответ

1

использовать этот фрагмент кода

  Intent intent = new Intent(android.content.Intent.ACTION_SEND); 
      intent.setAction(Intent.ACTION_VIEW); 
      intent.setDataAndType(Uri.parse("file://" + a), "image/*"); 
      startActivity(intent); 

      //a is path to image 
      a = "/storage/primery/lagacy/kids/123.png" 
2

попробовать это,

String url ""; 
    url = data.getText(); // Coming from the data base as a link 

    Uri myUri = Uri.parse(url); 
     Intent intent = new Intent(android.content.Intent.ACTION_SEND); 
        intent.setAction(Intent.ACTION_VIEW); 
        intent.setDataAndType(myUri , "image/png"); 
        startActivity(intent); 
1

попробуйте использовать этот метод

public static String getRealPathFromURI(Context context, Uri uri) { 

    final boolean isKitKat = Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT; 

    // DocumentProvider 
    if (isKitKat && DocumentsContract.isDocumentUri(context, uri)) { 
     // ExternalStorageProvider 
     if (isExternalStorageDocument(uri)) { 
      final String docId = DocumentsContract.getDocumentId(uri); 
      final String[] split = docId.split(":"); 
      final String type = split[0]; 

      if ("primary".equalsIgnoreCase(type)) { 
       return Environment.getExternalStorageDirectory() + "/" + split[1]; 
      } 

      // TODO handle non-primary volumes 
     } 
     // DownloadsProvider 
     else if (isDownloadsDocument(uri)) { 

      final String id = DocumentsContract.getDocumentId(uri); 
      final Uri contentUri = ContentUris.withAppendedId(
        Uri.parse("content://downloads/public_downloads"), Long.valueOf(id)); 

      return getDataColumn(context, contentUri, null, null); 
     } 
     // MediaProvider 
     else if (isMediaDocument(uri)) { 
      final String docId = DocumentsContract.getDocumentId(uri); 
      final String[] split = docId.split(":"); 
      final String type = split[0]; 

      Uri contentUri = null; 
      if ("image".equals(type)) { 
       contentUri = MediaStore.Images.Media.EXTERNAL_CONTENT_URI; 
      } else if ("video".equals(type)) { 
       contentUri = MediaStore.Video.Media.EXTERNAL_CONTENT_URI; 
      } else if ("audio".equals(type)) { 
       contentUri = MediaStore.Audio.Media.EXTERNAL_CONTENT_URI; 
      } 

      final String selection = "_id=?"; 
      final String[] selectionArgs = new String[]{ 
        split[1] 
      }; 

      return getDataColumn(context, contentUri, selection, selectionArgs); 
     } 
    } 
    // MediaStore (and general) 
    else if ("content".equalsIgnoreCase(uri.getScheme())) { 
     return getDataColumn(context, uri, null, null); 
    } 
    // File 
    else if ("file".equalsIgnoreCase(uri.getScheme())) { 
     return uri.getPath(); 
    } 

    return null; 
} 


public static String getDataColumn(Context context, Uri uri, String selection, 
            String[] selectionArgs) { 

    Cursor cursor = null; 
    final String column = "_data"; 
    final String[] projection = { 
      column 
    }; 

    try { 
     cursor = context.getContentResolver().query(uri, projection, selection, selectionArgs, 
       null); 
     if (cursor != null && cursor.moveToFirst()) { 
      final int column_index = cursor.getColumnIndexOrThrow(column); 
      return cursor.getString(column_index); 
     } 
    } finally { 
     if (cursor != null) 
      cursor.close(); 
    } 
    return null; 
} 


public static boolean isExternalStorageDocument(Uri uri) { 
    return "com.android.externalstorage.documents".equals(uri.getAuthority()); 
} 



public static boolean isDownloadsDocument(Uri uri) { 
    return "com.android.providers.downloads.documents".equals(uri.getAuthority()); 
} 


public static boolean isMediaDocument(Uri uri) { 
    return "com.android.providers.media.documents".equals(uri.getAuthority()); 
} 

 Смежные вопросы

  • Нет связанных вопросов^_^