权限
首先我们需要添加权限
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/><!--读SD卡权限-->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/><!--写SD卡权限-->
<uses-permission android:name="android.permission.CAMERA"/><!--照相机权限-->
<uses-permission android:name="android.permission.CALL_PHONE" /><!--打电话权限-->
A. 打电话
如果是用真机测试需要动态获取权限
String[] strings = new String[]{Manifest.permission.CALL_PHONE};
if (Build.VERSION.SDK_INT>=23) {
for (int i=0;i<strings.length;i++) {
if (ActivityCompat.checkSelfPermission(this,strings[i]) != PackageManager.PERMISSION_GRANTED) {
requestPermissions(strings,100);
}
}
}
Intent intent2 = new Intent();
intent2.setAction(Intent.ACTION_CALL);
Uri uri1 = Uri.parse("tel:"+tel);
intent2.setData(uri1);
startActivity(intent2);
B. 打开浏览器
Intent intent1 = new Intent();
intent1.setAction(Intent.ACTION_VIEW);
Uri uri = Uri.parse("https://www.baidu.com");
intent1.setData(uri);
startActivity(intent1);
C. 摄像机
Intent intent3 = new Intent();
intent3.setAction(MediaStore.ACTION_VIDEO_CAPTURE);
startActivityForResult(intent3,VIDEO);
@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == VIDEO && resultCode == Activity.RESULT_OK) {
Uri uri = data.getData();
videoView.setVideoURI(uri);
videoView.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mp) {
videoView.start();
}
});
}
}
D. 照相机
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd_HHmmss");
Intent intent4 = new Intent();
intent4.setAction(MediaStore.ACTION_IMAGE_CAPTURE);
Date date = new Date();
String format = sdf.format(date);
String name = "IMG_"+format+".jpg";
String path = "/mnt/sdcard/DCIM/Screenshots/"+name;
ContentResolver contentResolver = getContentResolver();
ContentValues values = new ContentValues();
values.put(MediaStore.Images.Media.DATA,path);
Uri u = contentResolver.insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, values);
intent4.putExtra(MediaStore.EXTRA_OUTPUT,u);
startActivityForResult(intent4,IMAGE);
@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == IMAGE && resultCode == Activity.RESULT_OK) {
Uri uri = data.getData();
imageView.setImageURI(uri);
}
}