当前位置:   article > 正文

android基础学习5————隐式意图intent开启系统照相机_android隐式意图调用相机

android隐式意图调用相机

显式意图开启组件时必须要指定组件的名称,一般只在本应用程序切换组件时使用。而隐式意图的功能要比显式意图更加强大,不仅可以开启本应用的组件,还可以开启其他应用的组件,例如系统自带的照相机、浏览器等。

首先,设计用户交互界面

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
  3. xmlns:tools="http://schemas.android.com/tools"
  4. android:layout_width="match_parent"
  5. android:layout_height="match_parent"
  6. tools:context="com.example.lenovo.opencamera.MainActivity">
  7. <Button
  8. android:id="@+id/opencamera"
  9. android:layout_width="wrap_content"
  10. android:layout_height="wrap_content"
  11. android:layout_centerHorizontal="true"
  12. android:layout_centerVertical="true"
  13. android:text="打开照相机" />
  14. </RelativeLayout>

然后在MainActivity中通过隐式意图开启系统中的照相机

  1. package com.example.lenovo.opencamera;
  2. import android.content.Intent;
  3. import android.net.Uri;
  4. import android.support.v7.app.AppCompatActivity;
  5. import android.os.Bundle;
  6. import android.view.View;
  7. import android.widget.Button;
  8. public class MainActivity extends AppCompatActivity {
  9. @Override
  10. protected void onCreate(Bundle savedInstanceState) {
  11. super.onCreate(savedInstanceState);
  12. setContentView(R.layout.activity_main);
  13. //获取界面上的按钮
  14. Button button=(Button)findViewById(R.id.opencamera);
  15. //给Button按钮添加点击事件
  16. button.setOnClickListener(new View.OnClickListener() {
  17. @Override
  18. public void onClick(View view) {
  19. Intent intent=new Intent();
  20. intent.setAction("android.media.action.IMAGE_CAPTURE");
  21. intent.addCategory("android.intent.category.DEFAULT");
  22. startActivity(intent);
  23. }
  24. });
  25. }
  26. }

这里配置的action和category和系统照相机一样。

最后运行程序,点击按钮即可看见成效。


声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Monodyee/article/detail/175287
推荐阅读
相关标签
  

闽ICP备14008679号