直接調(diào)用和間接調(diào)用。
我們提供的服務(wù)有:成都網(wǎng)站制作、成都網(wǎng)站建設(shè)、外貿(mào)營(yíng)銷網(wǎng)站建設(shè)、微信公眾號(hào)開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、安化ssl等。為近千家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的安化網(wǎng)站制作公司
1、ios相機(jī)拍照調(diào)用的是fuction方法直接調(diào)用相機(jī)啟動(dòng)程序,在啟動(dòng)和使用初期,同步識(shí)別其他功能及喚醒插件。
2、Android相機(jī)拍照調(diào)用的是user方法,下一步調(diào)用photo方法,再啟動(dòng)phoneP程序,逐步喚醒,流程式啟動(dòng)。
3、所以ios相機(jī)啟動(dòng)要比Android相機(jī)快,而且獲取圖片精度也高。
這個(gè)很簡(jiǎn)單的,百度到處都有答案:
public class MainActivity extends Activity {
/** Called when the activity is first created. */
private Button button;
private ImageView view;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
button = (Button) findViewById(R.id.button1);
view= (ImageView)findViewById(R.id.imageView1);
button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(intent, 1);
}
});
}
@SuppressLint("SdCardPath")
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
// TODO Auto-generated method stub
super.onActivityResult(requestCode, resultCode, data);
if (resultCode == Activity.RESULT_OK) {
String sdStatus = Environment.getExternalStorageState();
if (!sdStatus.equals(Environment.MEDIA_MOUNTED)) { // 檢測(cè)sd是否可用
Log.i("TestFile",
"SD card is not avaiable/writeable right now.");
return;
}
new DateFormat();
String name = DateFormat.format("yyyyMMdd_hhmmss",Calendar.getInstance(Locale.CHINA)) + ".jpg";
Toast.makeText(this, name, Toast.LENGTH_LONG).show();
Bundle bundle = data.getExtras();
Bitmap bitmap = (Bitmap) bundle.get("data");// 獲取相機(jī)返回的數(shù)據(jù),并轉(zhuǎn)換為Bitmap圖片格式
FileOutputStream b = null;
File file = new File("/sdcard/Image/");
file.mkdirs();// 創(chuàng)建文件夾
String fileName = "/sdcard/Image/"+name;
try {
b = new FileOutputStream(fileName);
bitmap.compress(Bitmap.CompressFormat.JPEG, 100, b);// 把數(shù)據(jù)寫入文件
} catch (FileNotFoundException e) {
e.printStackTrace();
} finally {
try {
b.flush();
b.close();
} catch (IOException e) {
e.printStackTrace();
}
}
try
{
view.setImageBitmap(bitmap);// 將圖片顯示在ImageView里
}catch(Exception e)
{
Log.e("error", e.getMessage());
}
}
}
}
Android調(diào)用本機(jī)攝像頭后可以移動(dòng)如下
調(diào)用本機(jī)攝像頭//設(shè)置返回碼:標(biāo)志照相機(jī)拍攝final int RESULT_CAMERA=100;//設(shè)置一個(gè)臨時(shí)路徑,保存所拍的照片String savefont = “/storage/sdcard0/”;// 獲取模板路徑File CameraFolder = new File(savefont, “CameraFile”);if (!CameraFolder.exists())//判斷文件夾是否存在,不存在則創(chuàng)建文件夾,已經(jīng)存在跳過{undefinedCameraFolder.mkdir()。
適配安卓10方式:
返回URI即可
手機(jī)上加載webview,網(wǎng)頁上上傳圖片調(diào)用原生相機(jī)和相冊(cè)上傳圖片
先設(shè)置好webview的加載以及websetting,這里就不多說了。
主要是setWebChromeClient方法的實(shí)現(xiàn)
這個(gè)方法分幾個(gè)版本的適配3.0以下的設(shè)備,3.0到4.1的設(shè)備,4.1到5.0的設(shè)備,以及5.0以上的設(shè)備,每個(gè)方法參數(shù)不一樣適配時(shí)請(qǐng)注意。5.0以下的參數(shù)都是 ValueCallbackUri ,以上的設(shè)備需要 ValueCallbackUri[] ,回傳數(shù)據(jù)的時(shí)候也是對(duì)應(yīng)的不要弄錯(cuò)了。
最后的效果如下:
一種方式是采用MediaStore,調(diào)用系統(tǒng)原生的相機(jī)。
Intent?intent?=?new?Intent(MediaStore.ACTION_IMAGE_CAPTURE);
intent.putExtra("camerasensortype",?2);?//?調(diào)用前置攝像頭
intent.putExtra("autofocus",?true);?//?自動(dòng)對(duì)焦
intent.putExtra("fullScreen",?false);?//?全屏
intent.putExtra("showActionIcons",?false);
startActivityForResult(intent,?PICK_FROM_CAMERA);
分享文章:android調(diào)用相機(jī),android調(diào)用相機(jī)返回原圖
文章源于:http://chinadenli.net/article20/dseodjo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App開發(fā)、網(wǎng)站設(shè)計(jì)公司、網(wǎng)站營(yíng)銷、自適應(yīng)網(wǎng)站、小程序開發(fā)、商城網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)