用过的Intent的用法

  1. 打电话
  2. 发短信
  3. 发邮件
  4. 启动相机
  5. 回到桌面,HOME
  6. 从联系人选择电话号码
  7. 插入新的联系人,跳到新建联系人页面并自动填好信息。
  8. 安装apk文件
  9. 启动QQ,并打开指定的聊天窗口
  10. 打开手机上的地图软件,如百度地图。传入的坐标如果在范围内会直接点位到所传的坐标
  11. 打开系统各各个设置页面
  12. 用浏览器打开网页
  13. 打开录音机

突然看到之前的一篇笔记,就补充一下发上来。Intent是什么就先不说了。列表可以看一下目录。

所有用法均在小米max手机上亲测,android6.0。有些权限在6.0上要动态获取。

以后如果用到新功能了再补充,没用过的先不写了。

打电话

使用ACTION_CALL需要android.permission.CALL_PHONE权限

    Intent intent=new Intent();
    intent.setAction(Intent.ACTION_VIEW);
    //intent.setAction(Intent.ACTION_CALL);
    //intent.setAction(Intent.ACTION_DIAL);
    intent.setData(Uri.parse("tel:12212212212"));
    startActivity(intent);

发短信

  • 1
    Intent intent= new Intent();
    intent.setData(Uri.parse("smsto:10086"));
    intent.setAction(Intent.ACTION_SENDTO);
    intent.putExtra("sms_body", "填信息内容");
    startActivity(intent);
  • 2
Intent intent= new Intent();
                intent.setAction(Intent.ACTION_VIEW);
                intent.setType("vnd.android-dir/mms-sms");
                intent.putExtra("sms_body", "填信息内容");
                startActivity(intent);

发邮件

  • 弹出选择器
Intent intent=new Intent();
                intent.setAction(Intent.ACTION_SEND);
                //收件人
                String[] tos={"[email protected]"};
                //抄送人
                String[] ccs={"[email protected]"};
                intent.putExtra(Intent.EXTRA_EMAIL, tos);
                intent.putExtra(Intent.EXTRA_CC, ccs);
                intent.putExtra(Intent.EXTRA_TEXT, "邮件内容 2333");
                intent.putExtra(Intent.EXTRA_SUBJECT, "邮件主题");
                intent.setType("message/rfc822");
                startActivity(Intent.createChooser(intent, "选择客户端发送"));
  • 直接启动邮件客户端
Intent intent=new Intent();
                intent.setData(Uri.parse("mailto:"));
                intent.setAction(Intent.ACTION_SENDTO);
                //收件人
                String[] tos={"[email protected]"};
                //抄送人
                String[] ccs={"[email protected]"};
                intent.putExtra(Intent.EXTRA_EMAIL, tos);
                intent.putExtra(Intent.EXTRA_CC, ccs);
                intent.putExtra(Intent.EXTRA_TEXT, "邮件内容 2333");
                intent.putExtra(Intent.EXTRA_SUBJECT, "邮件主题");
                //intent.setType("message/rfc822");
                startActivity(intent);

启动相机

  • 单纯启动相机
Intent intent = new Intent(MediaStore.INTENT_ACTION_STILL_IMAGE_CAMERA);
startActivity(intent);
  • 以录像模式启动相机
Intent intent = new Intent(MediaStore.INTENT_ACTION_VIDEO_CAMERA);
startActivity(intent);
  • 获取拍照返回的缩略图 需要android.permission.CAMERA权限
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(intent,0);

然后在

@Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        Bitmap bitmap = data.getParcelableExtra("data");
    }

回到桌面,HOME

Intent intent = new Intent();
                intent.setAction("android.intent.action.MAIN");
                intent.addCategory("android.intent.category.HOME");
                startActivity(intent);

从联系人选择电话号码

Intent intent = new Intent(Intent.ACTION_PICK);
                intent.setType(ContactsContract.CommonDataKinds.Phone.CONTENT_TYPE);
                startActivityForResult(intent,0);

然后再

@Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        Uri uri = data.getData();
        String[] names = new String[]{ContactsContract.CommonDataKinds.Phone.NUMBER};
        Cursor cursor = getContentResolver().query(uri, names,null, null, null);
        int index = cursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER);
        String number = cursor.getString(index);
        Log.i(TAG, "onActivityResult: "+number);
    }

插入新的联系人,跳到新建联系人页面并自动填好信息。

                Intent intent = new Intent(Intent.ACTION_INSERT);
                intent.setType(ContactsContract.Contacts.CONTENT_TYPE);
                intent.putExtra(ContactsContract.Intents.Insert.NAME, "aaa");
                intent.putExtra(ContactsContract.Intents.Insert.EMAIL, "wandjnfdjkn");
                intent.putExtra(ContactsContract.Intents.Insert.PHONE, "100200100");
                startActivity(intent);

安装apk文件

    String fileName = Environment.getExternalStorageDirectory() + "/a.apk" ;
    Intent intent = new Intent(Intent.ACTION_VIEW);
    intent.setDataAndType(Uri.fromFile(new File(fileName)), "application/vnd.android.package-archive");
    startActivity(intent);

启动QQ,并打开指定的聊天窗口

String url = "mqqwpa://im/chat?chat_type=wpa&uin=1492571688";
startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(url)));

打开手机上的地图软件,如百度地图。传入的坐标如果在范围内会直接点位到所传的坐标

Uri uri = Uri.parse("geo:40.2268400000,88.1141060000");
                Intent intent = new Intent(Intent.ACTION_VIEW,uri);
                startActivity(intent);

打开系统各各个设置页面

如WiFi

Intent intent = new Intent(Settings.ACTION_WIFI_SETTINGS);
startActivity(intent);

其他如

ACTION_SETTINGS
ACTION_WIRELESS_SETTINGS
ACTION_AIRPLANE_MODE_SETTINGS
ACTION_WIFI_SETTINGS
ACTION_APN_SETTINGS
ACTION_BLUETOOTH_SETTINGS
ACTION_DATE_SETTINGS
ACTION_LOCALE_SETTINGS
ACTION_INPUT_METHOD_SETTINGS
ACTION_DISPLAY_SETTINGS
ACTION_SECURITY_SETTINGS
ACTION_LOCATION_SOURCE_SETTINGS
ACTION_INTERNAL_STORAGE_SETTINGS
ACTION_MEMORY_CARD_SETTINGS

用浏览器打开网页

    Uri webpage = Uri.parse("http://www.baidu.com");
    Intent intent = new Intent(Intent.ACTION_VIEW, webpage);
    startActivity(intent);

打开录音机

Intent intent = new Intent(MediaStore.Audio.Media.RECORD_SOUND_ACTION);
startActivity(intent);

你可能感兴趣的:(用过的Intent的用法)