Если кто-нибудь знает, как получить доступ к фотогалерее телефона? Я делаю приложение, которое делает снимок листа растения, и анализирует изображение, чтобы определить, определяет ли оно. Мы надеялись, что может дать пользователю две возможности сфотографировать лист или использовать изображение листа , которое пользователь уже сделал. Тем не менее, мы получили картину, которая принимает участие, но мы не знаем, как получить доступ к фотогалерее .Как получить доступ к изображению из фотогалереи телефона?
17
A
ответ
32
Вы должны запустить приложение Gallery с помощью встроенного Intents
. После этого на вашем onActivityResult()
, получить путь выбранного изображения и загрузить изображение в ImageView
main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello"
/>
<Button
android:id="@+id/loadimage"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Load Image"
/>
<TextView
android:id="@+id/targeturi"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
<ImageView
android:id="@+id/targetimage"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
/>
</LinearLayout>
Ваша активность
package com.exercise.AndroidSelectImage;
import java.io.FileNotFoundException;
import android.app.Activity;
import android.content.Intent;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.TextView;
public class AndroidSelectImage extends Activity {
TextView textTargetUri;
ImageView targetImage;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button buttonLoadImage = (Button)findViewById(R.id.loadimage);
textTargetUri = (TextView)findViewById(R.id.targeturi);
targetImage = (ImageView)findViewById(R.id.targetimage);
buttonLoadImage.setOnClickListener(new Button.OnClickListener(){
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
Intent intent = new Intent(Intent.ACTION_PICK,
android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
startActivityForResult(intent, 0);
}});
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
// TODO Auto-generated method stub
super.onActivityResult(requestCode, resultCode, data);
if (resultCode == RESULT_OK){
Uri targetUri = data.getData();
textTargetUri.setText(targetUri.toString());
Bitmap bitmap;
try {
bitmap = BitmapFactory.decodeStream(getContentResolver().openInputStream(targetUri));
targetImage.setImageBitmap(bitmap);
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
14
Do не забудьте добавить следующие разрешения для AndroidManifest.xml:
<uses-permission android:name="android.permission.MANAGE_DOCUMENTS" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
Смежные вопросы
- 1. Как получить доступ к пути к изображению?
- 2. Как получить доступ только к обратному изображению
- 3. Как получить доступ к текущему изображению bg?
- 4. Как получить доступ к выбранному изображению из ImageRow в Eureka?
- 5. Ошибка при загрузке фотогалереи телефона
- 6. Как получить доступ к номеру телефона?
- 7. Доступ к изображению, взятому из другого класса
- 8. Как получить доступ к памяти телефона из приложения - iOS
- 9. Django: доступ к загружаемому изображению из ImageField
- 10. Доступ к изображению из PaintCode в Swift
- 11. Не удалось получить доступ к изображению из развернутого приложения .net
- 12. Laravel: не удалось получить доступ к изображению из приложения
- 13. Доступ к изображению извне div
- 14. Доступ к информации телефона
- 15. Как получить путь к изображению?
- 16. Доступ к изображению без загрузки
- 17. Доступ к изображению от модели
- 18. Невозможно получить доступ к скрипту, прикрепленному к изображению пользовательского интерфейса
- 19. Как получить доступ к изображению камеры ngCordova изнутри JavaScript
- 20. Доступ к изображению в контроллере
- 21. Как получить доступ к изображению, хранящемуся на сервере
- 22. Как я могу получить доступ к изображению в галерее?
- 23. Как получить доступ к изображению ресурса с помощью fopen?
- 24. Как получить доступ к активам/изображению с контроллера в Sails.js?
- 25. Как получить доступ к изображению буфера рабочего стола в .NET?
- 26. Как получить доступ к изображению, хранящемуся в Blackberry, используя Bitmap.getBitmapResource()?
- 27. Как получить доступ к изображению в другой папке?
- 28. доступ к изображению в cgi-bin
- 29. Как получить доступ к карте Google на эмуляторе телефона Windows?
- 30. Доступ к изображению с тегом в UIImageview
Im пытается загрузить загруженное изображение в качестве фона, вы знаете, как это сделать? – nothingness
READ_EXTERNAL_STORAGE необходим только в том случае, если у вас еще нет WRITE_EXTERNAL_STORAGE. Вы уверены, что MANAGE_DOCUMENTS имеет смысл? https://developer.android.com/reference/android/Manifest.permission.html говорит: «Это разрешение должно запрашиваться только приложением для управления документами платформы. Это разрешение не может быть предоставлено сторонним приложениям». –