权限
隐式
MediaStore.ACTION_IMAGE_CAPTURE----拍照
MediaStore.ACTION_VIDEO_CAPTURE----摄像
Intent.ACTION_CALL---------------打电话
Intent.ACTION_VIEW---------------浏览器
清单文件
<uses-permission android:name="android.permission.CALL_PHONE"/>
<uses-permission android:name="android.permission.CAMERA"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.INTERNET"/>
打开浏览器
bt1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent();
intent.setAction(Intent.ACTION_VIEW);
intent.setData(Uri.parse("http://www.baidu.com"));
startActivity(intent);
}
});
打电话
bt2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent();
intent.setAction(Intent.ACTION_CALL);
intent.setData(Uri.parse("tel:"+"电话号码"));
startActivity(intent);
}
});
拍照
bt3.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent();
intent.setAction(MediaStore.ACTION_IMAGE_CAPTURE);
File file = new File("/sdcard/DCIM/Camera/"+"a.png");
Uri uri = FileProvider.getUriForFile(MainActivity.this,"com.bw.1705",file);
intent.putExtra(MediaStore.EXTRA_OUTPUT,uri);
startActivityForResult(intent,IMAGE);
}
});
摄影
bt4.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent();
intent.setAction(MediaStore.ACTION_VIDEO_CAPTURE);
startActivityForResult(intent,VIEDO);
}
});
截屏
bt5.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
View decorView = getWindow().getDecorView();
decorView .setDrawingCacheEnabled(true);
decorView.buildDrawingCache();
Bitmap drawingCache = decorView.getDrawingCache();
img.setImageBitmap(drawingCache);
try {
drawingCache.compress(Bitmap.CompressFormat.PNG,100,new FileOutputStream("/sdcard/DCIM/Camera/"+"a.png"));
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
});
ActivityResult
@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if(requestCode==VIEDO&&resultCode==Activity.RESULT_OK){
Uri data1 = data.getData();
vv.setVideoURI(data1);
vv.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mp) {
vv.start();
}
});
}else if(requestCode==IMAGE&&resultCode==Activity.RESULT_OK){
}
}
FileProvider
清单文件
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<provider
android:exported="false"
android:grantUriPermissions="true"
android:authorities="com.bw.1705"
android:name="android.support.v4.content.FileProvider">
<meta-data android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/path"></meta-data>
</provider>
</application>
xml-path
<paths xmlns:android="http://schemas.android.com/apk/res/android">
<external-path
name="mypath"
path="DCIM"/>
</paths>