多媒体操作等...

打电话

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;

    }
发布了27 篇原创文章 · 获赞 0 · 访问量 616

猜你喜欢

转载自blog.csdn.net/zrx_z/article/details/103027588