2013-10-24 3 views
11

Wie kann ich den URI des Bildes erhalten, das in zeichnbarem gespeichert wird. Ich habe folgende Formate ausprobiert, aber immer kann das Bild nicht geladen werden.Erhalten Sie URI von Zeichenbild

imageURI= Uri.parse("android.resource://" + getPackageName() + "/" + R.drawable.indoor_thumbnail1); 
imageURI=Uri.parse("android.resource://"+getPackageName()+"/drawables/imageName"); 
imageURI=Uri.parse("android.resource://"+getPackageName()+"/drawables/imageName.png"); 
imageURI = Uri.parse("android.resource://"+ getResources().getResourceTypeName(R.drawable.indoor_thumbnail1)+"/" +getResources().getResourceEntryName(R.drawable.indoor_thumbnail1)+".png"); 

Sie wissen nicht, warum ich nicht das Bild URI ..

holen kann diese

Antwort

14

Versuchen:

Resources resources = context.getResources(); 
Uri.parse(ContentResolver.SCHEME_ANDROID_RESOURCE + "://" + resources.getResourcePackageName(resId) + '/' + resources.getResourceTypeName(resId) + '/' + resources.getResourceEntryName(resId)); 
+0

Immer noch das gleiche Problem .. Kann Bild nicht laden .. – Bhavna

+0

Was ist Kontext? –

8

ich die meisten Antworten gefunden für einen unerfahrenen Benutzer verwirrend, also ich bin einschließlich eines Beispiels.

your_package_name = org.xyz.abc

Bild in ziehbar ist => myimage.jpg

Uri uri = Uri.parse("android.resource://org.xyz.abc/drawable/myimage"); 
or 
Uri uri = Uri.parse("android.resource://"+context.getPackageName()+"/drawable/myimage"); 
7

Dies ist, was Sie wirklich brauchen:

Uri imageUri = Uri.parse(ContentResolver.SCHEME_ANDROID_RESOURCE + 
"://" + getResources().getResourcePackageName(R.drawable.ic_launcher) 
+ '/' + getResources().getResourceTypeName(R.drawable.ic_launcher) + '/' + getResources().getResourceEntryName(R.drawable.ic_launcher)); 
+1

Ich glaube, dass es sein sollte: Uri imageUri = Uri.parse (ContentResolver.SCHEME_ANDROID_RESOURCE + ": //".. + GetResources() getResourcePackageName (R.drawable.ic_launcher) + '/' + GetResources() getResourceTypeName (R.drawable.ic_launcher) + '/' + String.valueOf (R.drawable.ic_launcher); – fobbymaster

1

Sie können auch versuchen, diese :

Bitmap bm = BitmapFactory.decodeResource(getResources(), R.drawable.myimage_name); 

String extStorageDirectory = Environment.getExternalStorageDirectory().toString(); 
      File file = new File(extStorageDirectory, "MyIMG.png"); 
      FileOutputStream outStream = null; 
      try { 
       outStream = new FileOutputStream(file); 
       bm.compress(Bitmap.CompressFormat.PNG, 100, outStream); 
       outStream.flush(); 
       outStream.close(); 

    } catch (FileNotFoundException e) { 
       e.printStackTrace(); 
      } catch (IOException e) { 
       e.printStackTrace(); 
      } 

    Uri imguri=Uri.fromFile(file);