安卓直接原生调用拍照方法
前段时间有一个需求h5调用手机拍照功能的需求做的我脑壳痛,最后是在安卓壳上创建了一个方法。我直接用input配置就可以(安卓 ios直接调用手机拍照功能)
今天是时候跟领导去会会提需求的人了,全体人员落座(其实就3人,^ v ^),内容我们就不讨论了,反正最后的结果令人难以接受。他们需要用原生的安卓方法调用相机。作为前端的我一脸懵逼一脸o((⊙﹏⊙))o,咱也不懂,咱也不敢问,咱也不敢说。最关键的是公司没有安卓开发。难受ing。
最后我问了我的朋友要到了方法。我做一个简单的记录。
// 打开相机
Intent takePhotoIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);//用来打开相机的Intent
if(takePhotoIntent.resolveActivity(getPackageManager())!=null){//这句作用是如果没有相机则该应用不会闪退,要是不加这句则当系统没有相机应用的时候该应用会闪退
startActivityForResult(takePhotoIntent,REQ_CODE);//启动相机
}
// 获取结果
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if(requestCode==REQ_CODE&&resultCode==RESULT_OK){
/*缩略图信息是储存在返回的intent中的Bundle中的,
* 对应Bundle中的键为data,因此从Intent中取出
* Bundle再根据data取出来Bitmap即可*/
Bundle extras = data.getExtras();
Bitmap bitmap = (Bitmap) extras.get("data");
mPicture.setImageBitmap(bitmap);
}
}