1. 程式人生 > >Android 呼叫系統相簿選擇圖片並顯示

Android 呼叫系統相簿選擇圖片並顯示

主要程式碼:

package wkk.app2;

import android.app.Activity;
import android.content.Intent;
import android.database.Cursor;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.net.Uri;
import android.os.Bundle;
import android.provider.MediaStore;
import android.support.v7.app.AppCompatActivity;
import
android.view.View; import android.widget.ImageView; public class MainActivity extends AppCompatActivity { //呼叫系統相簿-選擇圖片 private static final int IMAGE = 1; //所需許可權 // <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/> @Override protected void onCreate
(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } public void onClick(View v) { //呼叫相簿 Intent intent = new Intent(Intent.ACTION_PICK, android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI); startActivityForResult(intent, IMAGE); } @Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); //獲取圖片路徑 if (requestCode == IMAGE && resultCode == Activity.RESULT_OK && data != null) { Uri selectedImage = data.getData(); String[] filePathColumns = {MediaStore.Images.Media.DATA}; Cursor c = getContentResolver().query(selectedImage, filePathColumns, null, null, null); c.moveToFirst(); int columnIndex = c.getColumnIndex(filePathColumns[0]); String imagePath = c.getString(columnIndex); showImage(imagePath); c.close(); } } //載入圖片 private void showImage(String imaePath){ Bitmap bm = BitmapFactory.decodeFile(imaePath); ((ImageView)findViewById(R.id.image)).setImageBitmap(bm); } }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57

xml:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context="wkk.app2.MainActivity">

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:onClick="onClick"
        android:text="點選選擇圖片" />

    <ImageView
        android:id="@+id/image"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />

</LinearLayout>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21

相關推薦

Android 呼叫系統相簿選擇圖片顯示

主要程式碼: package wkk.app2; import android.app.Activity; import android.content.Intent; import android.database.Cursor; import android.graphics.Bitmap; imp

android 開啟本地相簿選擇圖片返回顯示

1 package com.jerry.crop; 2 3 import java.io.File; 4 5 import android.app.Activity; 6 import android.content.Intent; 7 import android.gra

安卓跳轉到系統相簿選擇圖片返回解析獲取絕對路徑

19之前直接跳轉到: intent.setAction(Intent.ACTION_GET_CONTENT); intent.setType("image/*"); 這個intent就可以,但是19之後如果再跳轉到這個頁面,然後又選擇了不存在與MediaStore資料庫

android 手機拍照、相簿選擇照片顯示

關鍵程式碼: public class MainActivity extends AppCompatActivity implements View.OnClickListener { private Button btn1; private Uri imageUri;

android 跳轉到系統相簿選擇圖片

Intent intent = new Intent(); if (Build.VERSION.SDK_INT < 19) { intent.setAction(Intent.ACTION_GET_CONTENT); intent.setType("i

Android Webview調相機拍照選擇圖片顯示到網頁

前面幾篇部落格我們介紹了webView的基本使用和js與Android的相互呼叫,並且簡單的封裝了個X5WebView. 本篇部落格我們通過前面的知識整合來實現一個比較實用的功能.就是點選網頁上的img標籤選擇手機裡的圖片或拍照,然後將圖片顯示在網頁對應的元素

Android呼叫相機拍照後圖片橫向顯示的問題解決

最近在做一個專案的時候出現需要實時拍照然後作為頭像上傳伺服器的一個操作,按照以前的老專案老是出現拍照後對 圖片處理的問題上圖片橫向顯示,這樣切割出來的圖片也就是橫向了,找了很久才解決出來問題的根源,現在記錄下來, 以後遇到這個問題就不會出錯了。 1:一般相機拍完照後正常顯示在螢幕上如圖,

Android拍照和相簿選擇圖片上傳所遇到的一些坑

微信公眾號:IT小頑童 前段時間做拍照和相簿選擇圖片上傳,遇到一些坑,最近閒來沒事,就整理一篇部落格,並寫了個demo,專案中使用純java,這次採用java + kotlin混合,GitHub的地址戳此 1、首先遇到的的是Android7.0的坑 說是坑,有點欲加

Android呼叫系統相簿、拍照以及裁剪最簡單的實現(相容7.0)

/** * 相片工具類 */ public class PhotoUtils { private static final String TAG = "PhotoUtils"; /** * @param activity * 當前activity *

android呼叫系統照相機拍照,壓縮儲存在本地

1.首先拍照和儲存檔案肯定就需要申請許可權 <!-- 往SDCard寫入資料許可權 --> <uses-permission android:name="android.permission.WRITE_EXTERNAL_

Android 呼叫系統相簿選取視訊,過濾視訊(相容小米)

老規矩先上圖,注:我這個是其他型別裝置的樣式圖,小米也一樣的由於小米手機可能對很多地方不見讓,當然對呼叫系統相機時也跟其他裝置不太一樣,一般情況下他都是底下彈出一個框,選取是否進入相簿或者資料夾下面就來貼一下程式碼這是在選取相簿選取視訊的頁面

Activity的LaunchMode導致呼叫系統相簿選取圖片立即返回RESULT_CANCELED,data為null

如題,最近在做呼叫系統相簿選取圖片的功能時,發現在一些手機上就會出現這種問題,具體的現象是使用如下程式碼選取圖片: String IMAGE_UNSPECIFIED = "image/*"; int SELECTPHOTO=10086; Intent

Android呼叫系統相簿系統相機拍照

呼叫系統相機拍照: intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); startActivityForResult(intent, RESULT_CAMARA_IMAGE); // RESULT_CAMARA_IMA

android-HttpURLConnection+Handler+Thread下載圖片顯示

注意: 下載圖片、儲存圖片都需要非同步操作。 java程式碼: package com.example.administrator.downloadimgdemo; import android.app.Activity; import androi

呼叫Android系統攝像頭進行拍照以及從相簿選擇圖片

很多時候我們需要呼叫系統攝像頭進行拍照或者從相簿選擇照片,然後對得到的圖片進行一些處理。比如微信設定頭像,就可以選擇呼叫裝置存在攝像頭APP進行拍照,然後對影象進行裁剪,最終設定為頭像。 下面來進行講解。 主要分為以下幾個部分: 1、獲得攝像頭Feature和寫檔案的許

Android WebView 選擇圖片上傳(呼叫相機拍照/相簿/選擇檔案)

前言: 這個功能其實我才剛接觸。不熟...在這個給大家提供的都是經過本人驗證之後的一些案例。可以在專案中跑的。 最近專案嵌入混合開發,都是使用WebView來跳轉,頁面展示。有用到這個圖片上傳的功能。 原本是一臉懵的,查了很多資料看一些大神都寫的很多程式碼很複雜(原諒我

Android 呼叫系統相機相簿獲取路徑進行圖片壓縮

我直接從專案copy過來了專案程式碼段落,有些可以直接不要,我會加註釋的 1.先定義一個相機或者相簿的標識碼 private int REQUEST_CODE_PICK = 101; private int REQUEST_CODE_CAMERA = 10

Android呼叫系統相機、相簿、裁剪圖片壓縮上傳(適配7.0)

作者:八怪不姓醜 連結:http://www.jianshu.com/p/e11a34e2ea4f 著作權歸作者所有,本文經作者授權推送。 一、前言 最近在開發中遇到了一個比較棘手的問題 由於在之前使用的版本-targetSdkVersion小於24也就是小於7.

Android啟動系統相機,開啟相簿選擇圖片

相機 Intent i = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); //指定拍照後圖片名稱 String photoName = System.currentTimeMillis() + ".jpg"; //設定拍照後圖片存放位置RO

Android拍照及圖片裁剪、呼叫系統相簿(相容6.0以上許可權處理及7.0以上檔案管理)

前言: 最近工作修改較舊的專案時,涉及到了圖片相關功能 ,在使用安卓6.0手機及7.1手機拍照時,遇到了因許可權及檔案管理導致程式崩潰等問題。 剛好把功能修改完,把程式碼簡單地貼一下,方便以後使用。 本文demo包含以下要點: Android6.0執