万が一、誰かが電話のフォトギャラリーにアクセスする方法を知っていますか? 私は植物の葉を撮るアプリケーションを作成しており、 は画像を分析してそれが決定しているかどうかを判断します。我々は、 が、ユーザーに、葉の写真を撮るか、またはユーザーが既に取っている の葉の画像を使用するという2つの選択肢をユーザに与えることを望んでいた。しかし、私たちは写真を撮っていますが、私たちは 写真ギャラリーへのアクセス方法はわかりません。電話のフォトギャラリーから画像にアクセスする方法は?
17
A
答えて
32
組み込みの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
ドゥにあなたのイメージをロードAndroidManifest.xmlに次のアクセス許可を追加することを忘れないでください:
<uses-permission android:name="android.permission.MANAGE_DOCUMENTS" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
関連する問題
- 1. EditTextの電話機からの画像
- 2. Windowsの電話からSMSメッセージスレッドにプログラムでアクセスする方法
- 3. MFMailComposeViewController:フォトギャラリーからの画像の添付
- 4. アンドロイド携帯電話アプリケーションにリモートサーバーから画像を追加する方法
- 5. コンピュータからアンドロイド電話に連続した画像を送る方法
- 6. 携帯電話の画像サイズは他の携帯電話の画像サイズと同じですか?
- 7. アンドロイドシステムカメラに電話して、画像をフォルダに保存する方法は?
- 8. アンドロイド携帯電話の画面に表示するQRCODE画像
- 9. Windowsの電話機に画像を並べて表示する方法7?
- 10. Androidの負荷のURLから画像や電話
- 11. tomcatサーバーのパスから画像にアクセスする方法
- 12. aspにアクセスする方法:Javascriptからの画像?
- 13. 電話のメモリから画像を読み込む(SDなし)
- 14. Windowsの画像編集電話7
- 15. 画像の電話番号galley
- 16. 電話デバイスにアクセスする電話ユーザーによるデータベース
- 17. 画像をトリミングする方法/画像をアップロードする前にユーザーから画像をプレビューする方法は?
- 18. JAVAの画像フォルダから画像にアクセスする
- 19. Windowsの隔離されたストレージから画像をバインドする電話7
- 20. 画像を電話に保存しますか? WP7 C#
- 21. 外部アプリケーションからアスタリスクトランクを介して電話番号に電話をかけて予言する方法は?
- 22. ウェブページからGoogle Appsスクリプトに電話する方法
- 23. 電話からGmailアカウントに連絡先をインポートする方法
- 24. Androidアプリから電話をかける方法は?
- 25. Windowsのアプリ内から画面をオフにする電話7
- 26. モバイルWebベースのアプリでユーザーの電話帳にアクセスする方法は?
- 27. 電話帳からランダムな画像を取得して表示する
- 28. res/drawableフォルダからネイティブコードで画像リソースにアクセスする方法は?
- 29. PKPaymentAuthorizationViewController-ユーザーから電子メールと電話番号を入力する方法は?
- 30. 窓の電話の画像を保存するC#
アップロードした画像をバックグラウンドとして保存しようとしていますが、どのように知っていますか? – nothingness
READ_EXTERNAL_STORAGEは、WRITE_EXTERNAL_STORAGEをまだ持っていない場合にのみ必要です。 MANAGE_DOCUMENTSは意味がありますか? https://developer.android.com/reference/android/Manifest.permission.htmlのコメント: "このアクセス許可は、プラットフォームのドキュメント管理アプリケーションによってのみ要求されます。このアクセス許可は、サードパーティのアプリケーションには付与できません。" –