androidopencamera
㈠ android原生相機調用
android原生相機調用 大家好,今天我來為大家揭開「android原生相機調用」的神秘面紗。為了讓大家更好地理解這個問題,我將相關資料進行了整合,現在就讓我們一起來探索吧。
1.一個關於android的問題,我通過下面的方法調用相機,可是怎麼可以在拍照結束後獲取照片的路徑呢?
2.華為手機ssr提示安卓相機打不開
3.root後,怎麼樣實現打開攝像頭拍照,實際是拍手機圖庫的相片
4.華為手機自帶照相機無法正常啟動,提示要開啟許可權,怎麼辦?
5.安卓手機如何設置用前攝像頭拍照
6.android 調用系統照相機,保存後回到前一個activity
一個關於android的問題,我通過下面的方法調用相機,可是怎麼可以在拍照結束後獲取照片的路徑呢?
Android調用系統拍照的代碼:
創建Intent Intent openCameraIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
String imagePath = Environment.getExternalStorageDirectory() + "/image" ;
設置文件路徑 File file = new File(imagePath);
if(!file.exists()){
file.mkdirs(); }
設置URI,指定相冊拍照後保存的路徑,Uri imageUri = Uri.fromFile(new File(imagePath, "image.jsp"));
openCameraIntent.putExtra(MediaStore.EXTRA_OUTPUT, imageUri);
startActivityForResult(openCameraIntent, REQUEST_CODE_TAKING_PICTURES);
拍照完以後,文件就會保存在這個指定的目錄下了。Uri 里指定了相機拍照的路徑。
華為手機ssr提示安卓相機打不開
public?class?TestCameraActivity?extends?Activity?implements?OnClickListener{private?Uri?mOutPutFileUri;
@Override
public?void?onCreate(Bundle?savedInstanceState)?{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button?takePiCButton?=?(Button)?this.findViewById(R.id.button1);
takePiCButton.setOnClickListener(this);
}
@Override
public?void?onClick(View?v)?{ switch?(v.getId())?{ case?R.id.button1:
saveFullImage();
break;
default:
break;
} } private?void?saveFullImage(){ Intent?intent?=?new?Intent(MediaStore.ACTION_IMAGE_CAPTURE); //文件夾aaaa String?path?=?Environment.getExternalStorageDirectory().toString()+"/aaaa"; File?path1?=?new?File(path); if(!path1.exists()){
path1.mkdirs();
} File?file?=?new?File(path1,System.currentTimeMillis()+".jpg"); mOutPutFileUri?=?Uri.fromFile(file); intent.putExtra(MediaStore.EXTRA_OUTPUT,?mOutPutFileUri); startActivityForResult(intent,?1); } @Override protected?void?onActivityResult(int?requestCode,?int?resultCode,?Intent?data)?{ super.onActivityResult(requestCode,?resultCode,?data); if(requestCode?==?1){
Uri?imageUri?=?null;
if(data?!=?null){
if(data.hasExtra("data")){
Bitmap?thunbnail?=?data.getParcelableExtra("data"); //處理縮略圖
}
}else{
//處理mOutPutFileUri中的完整圖像
}
} }
}
root後,怎麼樣實現打開攝像頭拍照,實際是拍手機圖庫的相片
一、系統自帶相機無法打開
系統自帶相機無法打開請您按照以下方法嘗試解決:
1.檢查是否有其他應用打開了相機
請您重啟手機後再進入相機重試。
系統要求同時只能有一個應用打開相機,當另外一個應用打開相機,相機攝像頭將無法打開。部分應用由於自身設計原因可能未及時釋放相機,如手電筒、二維碼掃描等程序。
2.檢查更新系統版本
請提前備份好重要數據(QQ、微信等第三方應用需單獨備份)升級至最新系統版本,系統版本更新會對相機的性能進行優化和升級。
3.將設備恢復出廠設置
請您備份好重要數據(QQ、微信等第三方應用需單獨備份)後,進入設置,搜索恢復出廠設置,按照手機界面提示完成恢復出廠設置操作。
4.如果以上操作仍無法解決問題,可能是攝像頭硬體問題,請您使用「智能檢測」功能檢測攝像頭
請您進入我的華為APP>服務,點擊我要檢測 > 進入檢測,根據手機提示完成檢測。
如果是攝像頭硬體問題或仍無法解決問題,請您備份好數據(QQ、微信等第三方應用需單獨備份),攜帶購機憑證前往華為客戶服務中心檢測。
二、三方應用無法打開相機
如果手機自帶相機可以打開,但是第三方應用無法打開相機,可能是三方應用未獲取到相機許可權。
建議您進入設置,搜索進入許可權管理,在許可權頁簽,點擊調用攝像頭/相機,開啟對應應用的相機許可權。
華為手機自帶照相機無法正常啟動,提示要開啟許可權,怎麼辦?
1、獲取root許可權:首先,你需要獲取你的手機的root許可權。這個步驟可能因手機型號和操作系統版本的不同而有所差異,但通常可以通過安裝Root工具或者刷入Root固件來實現。
2、打開相機:獲取root許可權後,你可以直接調用Android系統的相機API,通過編程的方式打開相機。
3、拍攝照片:打開相機後,你可以調用相機的拍攝方法,拍攝照片。
4、訪問圖庫:拍攝照片後,你可以通過Android系統的圖庫API來訪問手機的圖庫即可保存照片。
安卓手機如何設置用前攝像頭拍照
請按照如下步驟處理:
Android系統要求同時只能有一個應用打開攝像頭,當另外一個應用打開攝像頭,相機攝像頭將無法打開。部分應用由於自身設計原因可能存在未及時釋放攝像頭。如手電筒、二維碼掃描等程序,可以將相機相關的應用先關閉,再進入相機嘗試;
建議您重啟手機後嘗試打開相機。
建議您進入設置,搜索應用管理,找到或者搜索相機,點擊存儲,並刪除數據。
如果是三方應用無法打開相機,建議您進入設置,搜索許可權管理,在許可權頁簽,點擊調用攝像頭/相機,查看對應應用的相機許可權是否開啟。
建議您備份好數據後將手機升級到最新系統版本,或恢復出廠設置後重試。
如果以上操作仍無法解決問題,請您備份好數據,攜帶購機憑證前往服務網點檢修。
android 調用系統照相機,保存後回到前一個activity
1、打開你手機上的照相機。在你照相時屏幕上按快門時那會有一個攝像頭轉換的標志的,點擊它即可。
2、先打開手機,然後在手機的設置裡面去找相機的設置,然後在拍照的功能下也可以在選項裡面找到更換攝像頭的選項,一般都是按左鍵出來選單,其次在在手機菜單裡面勾選展開詳細即可調到後置攝像頭。
3、在手機的設置裡面去找相機的設置,在照相的功能下也可以在選項裡面找到更換攝像頭的選項,一般都是按左鍵出來選單的。
4、打開手機微信,進入一個聊天框。在該聊天框中,點擊加號。接著,點擊拍攝圖標。然後,點擊拍攝畫面中的攝像頭切換圖標(沒點之前,是後置攝像頭,點之後,就是前置了)。
5、你好,華為手機打開相機後,在相機上面正中間有一個帶箭頭反轉的相機圖標,點一下即可打開前置攝像頭,如下圖所示:安卓系統切換前置攝像頭都是該圖標。
修改相機源碼編譯,因為相機返回功能是點2次,保存並沒有退出動作,這個不改源碼或者在相機源碼裡面加Intent 是做不到這種效果的 。 我剛想了下,在廣播或者Service裡面加 OnKeyDown 方法 ,但是廣播和service沒有這方法,所以不能夠靠監聽到 返回鍵的鍵值 4 ,從而直接 Intent到 A activity的功能就無法實現 ,所以建議修改相機源碼,即可實現 。 如果是純應用, 抱歉,能想的都想了,實現不了。
今天關於「android原生相機調用」的講解就到這里了。希望大家能夠更深入地了解這個主題,並從我的回答中找到需要的信息。如果您有任何問題或需要進一步的信息,請隨時告訴我。
㈡ Android開發 如何打開前置攝像頭的代碼
找到surficeView
surfaceView = (SurfaceView)findViewById(R.id.surfaceview);
設置它的像素為800x600
surfaceView.getHolder().setFixedSize(800,480);
//下面設置surfaceView不維護自己的緩沖區,而是等待屏幕的渲染引擎將內容推送到用戶面前
surfaceView.getHolder().setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
然後就是回調
surfaceView.getHolder().addCallback(newSurfaceCallback());
上面的回調類是我們自己定義的,代碼如下
private class SurfaceCallback implementsSurfaceHolder.Callback{
@Override
public void surfaceCreated(SurfaceHolderholder) {
try {
camera = Camera.open();//打開硬體攝像頭,這里導包得時候一定要注意是android.hardware.Camera
WindowManager wm = (WindowManager)getSystemService(Context.WINDOW_SERVICE);//得到窗口管理器
Display display = wm.getDefaultDisplay();//得到當前屏幕
Camera.Parameters parameters =camera.getParameters();//得到攝像頭的參數
parameters.setPreviewSize(display.getWidth(),display.getHeight());//設置預覽照片的大小
parameters.setPreviewFrameRate(3);//設置每秒3幀
parameters.setPictureFormat(PixelFormat.JPEG);//設置照片的格式
parameters.setJpegQuality(85);//設置照片的質量
parameters.setPictureSize(display.getHeight(),display.getWidth());//設置照片的大小,默認是和屏幕一樣大
camera.setParameters(parameters);
camera.setPreviewDisplay(surfaceView.getHolder());//通過SurfaceView顯示取景畫面
camera.startPreview();//開始預覽
isPreview = true;//設置是否預覽參數為真
} catch (IOException e) {
Log.e(TAG, e.toString());
}
}
@Override
public void surfaceChanged(SurfaceHolderholder, int format, int width,
int height) {
// TODO Auto-generated method stub
}
@Override
public void surfaceDestroyed(SurfaceHolderholder) {
if(camera!=null){
if(isPreview){//如果正在預覽
camera.stopPreview();
camera.release();
}
}
}
}
㈢ android 攝像機許可權問題 Camera.open();
直接 try catch 不可以嗎?雖然沒有做到不可用就不用,但是不可用時用了也不會崩潰,可以滿足你的要求,也可以在打不開時添加處理
㈣ 為什麼Android開發中Camera.open()方法不能用,下面點紅色報錯,api是19
包導錯了,應該是android.hardware.Camera這個包下的,不是android.graphics.Camera
㈤ android camera.open一直返回null
看看你的相機是不是有些問題,用其他相機程序能不能打開,第二,是不是有些程序打開了相機沒有關閉,這樣你是獲取不到的