用过的Intent的用法

来源:互联网 发布:娇韵诗淘宝是真是假 编辑:程序博客网 时间:2024/05/18 20:36

原文地址 http://blog.csdn.net/qq_25806863/article/details/70145785

突然看到之前的一篇笔记,就补充一下发上来。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={"wangyisll@163.com"};                //抄送人                String[] ccs={"1212121@qq.com"};                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={"wangyisll@163.com"};                //抄送人                String[] ccs={"1212121@qq.com"};                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_SETTINGSACTION_WIRELESS_SETTINGSACTION_AIRPLANE_MODE_SETTINGSACTION_WIFI_SETTINGSACTION_APN_SETTINGSACTION_BLUETOOTH_SETTINGSACTION_DATE_SETTINGSACTION_LOCALE_SETTINGSACTION_INPUT_METHOD_SETTINGSACTION_DISPLAY_SETTINGSACTION_SECURITY_SETTINGSACTION_LOCATION_SOURCE_SETTINGSACTION_INTERNAL_STORAGE_SETTINGSACTION_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);

0 0
原创粉丝点击