Android編程調(diào)用Camera和相冊(cè)功能詳解
本文實(shí)例講述了Android編程調(diào)用Camera和相冊(cè)功能。分享給大家供大家參考,具體如下:
xml:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <Button android:id="@+id/button_cameraButton" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="拍照" /> <Button android:id="@+id/button_photoButton" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="相冊(cè)" /> <ImageView android:id="@+id/imageview_preview" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_gravity="center" android:src="@drawable/ic_launcher" /> </LinearLayout>
activity:
package com.wj.cameratest; import java.io.File; import android.app.Activity; import android.content.Intent; import android.graphics.drawable.Drawable; import android.net.Uri; import android.os.Bundle; import android.os.Environment; import android.provider.MediaStore; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.ImageView; public class CameraShowActivity extends Activity { private ImageView mImageView; private Button mButtonCamera; private Button mButtonPhoto; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_camera_show); mImageView = (ImageView) this.findViewById(R.id.imageview_preview); mButtonCamera = (Button) this.findViewById(R.id.button_cameraButton); mButtonPhoto = (Button) this.findViewById(R.id.button_photoButton); mButtonCamera.setOnClickListener(new OnClickListener() { //打開(kāi)Camera @Override public void onClick(View v) { Intent intent = new Intent("android.media.action.IMAGE_CAPTURE"); intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(new File(Environment .getExternalStorageDirectory(), "camera.jpg"))); intent.putExtra(MediaStore.EXTRA_VIDEO_QUALITY, 0); startActivityForResult(intent, 10); } }); mButtonPhoto.setOnClickListener(new OnClickListener() { //獲取相冊(cè) @Override public void onClick(View v) { Intent intent = new Intent(Intent.ACTION_GET_CONTENT); intent.addCategory(Intent.CATEGORY_OPENABLE); intent.setType("image/*"); intent.putExtra("crop", "true"); intent.putExtra("aspectX",1); intent.putExtra("aspectY",1); intent.putExtra("outputX", 80); intent.putExtra("outputY", 80); intent.putExtra("return-data",true); startActivityForResult(intent, 11); } }); } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { if (requestCode == 10 && resultCode == Activity.RESULT_OK) { this.mImageView.setImageDrawable(Drawable.createFromPath(new File( Environment.getExternalStorageDirectory(), "camera.jpg") .getAbsolutePath())); System.out.println("data-->"+data); }else if (requestCode == 11 && resultCode ==Activity.RESULT_OK) { System.out.println("data2-->"+data); } } }
Manifest.xml
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.wj.cameratest" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="8" android:targetSdkVersion="15" /> <uses-permission android:name="android.permission.CAMERA" /> <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-feature android:name="android.hardware.camera" /> <uses-feature android:name="android.hardware.camera.autofocus" /> <application android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name=".CameraShowActivity" android:label="@string/title_activity_camera_show" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest>
android 調(diào)用相冊(cè)里的圖片并返回
Intent intent=new Intent(Intent.ACTION_GET_CONTENT); intent.addCategory(Intent.CATEGORY_OPENABLE); intent.setType("image/*"); intent.putExtra("crop", "true"); intent.putExtra("aspectX", 1); intent.putExtra("aspectY", 1); intent.putExtra("outputX", 80); intent.putExtra("outputY", 80); intent.putExtra("return-data", true); startActivityForResult(intent, 0);
在原來(lái)的Activity中如下獲取選到的圖片:
@Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { System.out.println(resultCode); Bitmap cameraBitmap = (Bitmap) data.getExtras().get("data"); super.onActivityResult(requestCode, resultCode, data); }
PS:關(guān)于AndroidManifest.xml文件相關(guān)屬性功能可參考本站在線(xiàn)工具:
Android Manifest功能與權(quán)限描述大全:
http://tools.jb51.net/table/AndroidManifest
更多關(guān)于Android相關(guān)內(nèi)容感興趣的讀者可查看本站專(zhuān)題:《Android拍照與圖片處理技巧總結(jié)》、《Android圖形與圖像處理技巧總結(jié)》、《Android開(kāi)發(fā)入門(mén)與進(jìn)階教程》、《Android調(diào)試技巧與常見(jiàn)問(wèn)題解決方法匯總》、《Android基本組件用法總結(jié)》、《Android視圖View技巧總結(jié)》、《Android布局layout技巧總結(jié)》及《Android控件用法總結(jié)》
希望本文所述對(duì)大家Android程序設(shè)計(jì)有所幫助。
- Android相機(jī)Camera基礎(chǔ)知識(shí)
- Android camera實(shí)時(shí)預(yù)覽 實(shí)時(shí)處理,人臉識(shí)別示例
- Android自定義照相機(jī)Camera出現(xiàn)黑屏的解決方法
- Android利用Camera實(shí)現(xiàn)中軸3D卡牌翻轉(zhuǎn)效果
- Android編程中調(diào)用Camera時(shí)預(yù)覽畫(huà)面有旋轉(zhuǎn)問(wèn)題的解決方法
- Android Camera是否支持變焦的判斷方法總結(jié)
- Android Camera變焦編程步驟
- Android camera2 判斷相機(jī)功能是否可控的實(shí)例
相關(guān)文章
Android基于reclyview實(shí)現(xiàn)列表回彈動(dòng)畫(huà)效果
這篇文章主要為大家詳細(xì)介紹了Android基于reclyview實(shí)現(xiàn)列表回彈動(dòng)畫(huà)效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-04-04Android實(shí)現(xiàn)短信驗(yàn)證功能的代碼
這篇文章主要介紹了Android實(shí)現(xiàn)短信驗(yàn)證功能的代碼的相關(guān)資料,需要的朋友可以參考下2016-07-07Android實(shí)現(xiàn)一周時(shí)間早中晚排班表
項(xiàng)目需求需要實(shí)現(xiàn)一個(gè)動(dòng)態(tài)添加,修改一周早中晚時(shí)間排班表,文章給大家提供了實(shí)現(xiàn)代碼,需要的朋友參考下吧2018-07-07Android開(kāi)發(fā)基礎(chǔ)實(shí)現(xiàn)音頻文件的播放詳解
這篇文章主要為大家介紹了Android開(kāi)發(fā)基礎(chǔ)實(shí)現(xiàn)音頻文件的播放詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-02-02分享Android開(kāi)發(fā)自學(xué)筆記之AndroidStudio常用功能
這篇文章主要給大家分享Android開(kāi)發(fā)自學(xué)筆記之AndroidStudio常用功能的相關(guān)資料,需要的朋友可以參考下2015-12-12android高仿微信表情輸入與鍵盤(pán)輸入代碼(詳細(xì)實(shí)現(xiàn)分析)
表情與鍵盤(pán)的切換輸入大部分IM都會(huì)需要到,本篇文章主要介紹了android高仿微信表情輸入與鍵盤(pán)輸入,具有一定的參考價(jià)值,有興趣的可以了解一下。2016-12-12Android自定義View之邊框文字、閃爍發(fā)光文字
這篇文章主要為大家詳細(xì)介紹了Android自定義View之邊框文字、閃爍發(fā)光文字,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-01-01Android編程顯示網(wǎng)絡(luò)上的圖片實(shí)例詳解
這篇文章主要介紹了Android編程顯示網(wǎng)絡(luò)上的圖片,結(jié)合實(shí)例形式詳細(xì)分析了Android顯示網(wǎng)絡(luò)圖片的流程與具體操作技巧,需要的朋友可以參考下2016-10-10