打电话
case R. id. bt_call:
Intent intent = new Intent ( ) ;
intent. setAction ( Intent. ACTION_CALL) ;
intent. setData ( Uri. parse ( "tel:" + "13218913357" ) ) ;
startActivity ( intent) ;
break ;
brower
case R. id. bt_browser:
Intent intent1 = new Intent ( ) ;
intent1. setAction ( Intent. ACTION_VIEW) ;
intent1. setData ( Uri. parse ( "https://www.runoob.com/design-pattern/design-pattern-intro.html" ) ) ;
startActivity ( intent1) ;
break ;
vedio
case R. id. bt_video:
Intent intent2 = new Intent ( ) ;
intent2. setAction ( MediaStore. ACTION_VIDEO_CAPTURE) ;
startActivityForResult ( intent2, 101 ) ;
break ;
用VedioView播放
if ( requestCode == 101 && resultCode == Activity. RESULT_OK) {
Uri data1 = data. getData ( ) ;
vv. setVideoURI ( data1) ;
vv. setOnPreparedListener ( new MediaPlayer. OnPreparedListener ( ) {
@Override
public void onPrepared ( MediaPlayer mp) {
vv. start ( ) ;
}
} ) ;
}
图库
case R. id. bt_tuku:
Intent intent3 = new Intent ( ) ;
intent3. setAction ( Intent. ACTION_PICK) ;
intent3. setType ( "image/*" ) ;
startActivityForResult ( intent3, 102 ) ;
break ;
用ImageView显示
else if ( requestCode == 102 && resultCode == Activity. RESULT_OK) {
Uri data1 = data. getData ( ) ;
iv. setImageURI ( data1) ;
}
截图
case R. id. bt_jietu:
View decorView = getWindow ( ) . getDecorView ( ) ;
decorView. setDrawingCacheEnabled ( true ) ;
decorView. buildDrawingCache ( ) ;
Bitmap drawingCache = decorView. getDrawingCache ( ) ;
iv. setImageBitmap ( drawingCache) ;
try {
drawingCache. compress ( Bitmap. CompressFormat. PNG, 100 , new FileOutputStream ( "/sdcard/DCIM/Camera/" + createName ( ) + ".png" ) ) ;
} catch ( FileNotFoundException e) {
e. printStackTrace ( ) ;
}
break ;
照相机
FileProvider
清单文件
< provider
android: grantUriPermissions= "true"
android: enabled= "true"
android: exported= "false"
android: authorities= "com.example.app4"
android: name= "androidx.core.content.FileProvider" >
< meta- data
android: name= "android.support.FILE_PROVIDER_PATHS"
android: resource= "@xml/paths" >
< / meta- data>
< / provider>
xml->path
< ? xml version= "1.0" encoding= "utf-8" ? >
< paths xmlns: android= "http://schemas.android.com/apk/res/android" >
< external- path
name= "mypath1"
path= "DCIM" >
< / external- path>
< / paths>
intent
case R. id. bt_camera:
Intent intent4 = new Intent ( ) ;
intent4. setAction ( MediaStore. ACTION_IMAGE_CAPTURE) ;
uri = FileProvider. getUriForFile ( this , "com.example.app4" , new File ( "/sdcard/DCIM/" + createName ( ) + ".jpg" ) ) ;
intent4. putExtra ( MediaStore. EXTRA_OUTPUT, uri) ;
startActivityForResult ( intent4, 105 ) ;
break ;
返回结果并显示
else if ( requestCode == 105 && resultCode == Activity. RESULT_OK) {
iv. setImageURI ( uri) ;
}
拍照
Uri uriForFile;
public void camera ( View view) {
Intent intent = new Intent ( ) ;
intent. setAction ( MediaStore. ACTION_IMAGE_CAPTURE) ;
uriForFile = FileProvider. getUriForFile ( this , "com.example.app_share_pic" , new File ( "/sdcard/DCIM/" + onCreateName ( ) ) ) ;
intent. putExtra ( MediaStore. EXTRA_OUTPUT, uriForFile) ;
startActivityForResult ( intent, 102 ) ;
}
截图
public void jietu ( View view) {
View decorView = getWindow ( ) . getDecorView ( ) ;
decorView. setDrawingCacheEnabled ( true ) ;
decorView. buildDrawingCache ( ) ;
Bitmap drawingCache = decorView. getDrawingCache ( true ) ;
UMImage umImage = new UMImage ( this , drawingCache) ;
new ShareAction ( MainActivity. this )
. withText ( "hello" )
. withMedia ( umImage)
. setDisplayList ( SHARE_MEDIA. SINA, SHARE_MEDIA. QQ, SHARE_MEDIA. WEIXIN)
. setCallback ( this )
. open ( ) ;
}
图库
public void tuku ( View view) {
Intent intent = new Intent ( ) ;
intent. setAction ( Intent. ACTION_PICK) ;
intent. setType ( "image/*" ) ;
startActivityForResult ( intent, 101 ) ;
}
if ( requestCode == 101 && resultCode == RESULT_OK) {
try {
Bitmap bitmap = MediaStore. Images. Media. getBitmap ( this . getContentResolver ( ) , data. getData ( ) ) ;
UMImage umImage = new UMImage ( this , bitmap) ;
new ShareAction ( MainActivity. this )
. withText ( "hello" )
. withMedia ( umImage)
. setDisplayList ( SHARE_MEDIA. SINA, SHARE_MEDIA. QQ, SHARE_MEDIA. WEIXIN)
. setCallback ( this )
. open ( ) ;
} catch ( IOException e) {
e. printStackTrace ( ) ;
}
}
给文件命名
public String createName ( ) {
Date date = new Date ( ) ;
SimpleDateFormat format = new SimpleDateFormat ( "yyyyMMdd_HHmmss" ) ;
String format1 = format. format ( date) ;
return "IMG_" + format1;
}