• Android开发笔记(7)——Intent启用应用软件


    转载请注明:http://www.cnblogs.com/igoslly/p/6844154.html

    Intent启用应用软件

    intent可以用来要求其他应用组件完成特定工作,如相机、电话、地图等。intent只是表示app需要打开的功能,并未限制打开的软件。故当手机存在多个软件中,系统会提示用户选择偏好软件;若不存在软件,则会出错,需要在程序中进行避免。

    intent必须包含actionData Uri属性,其他还有CategoryComponentExtra根据用户需求进行补充。

    URIuniform resources identifier是构建数据的标准化方法。

    例如电话功能:

    action : ACTION_DIAL
    DATA : “tel:2125551212”

    地图功能:

    action : ACTION_VIEW
    Data : “geo:47.6,-122.3”
    Intent intent = new Intent(Intent.ACTION_VIEW);
    intent.setData(Uri.phrase(“geo:47.6,-122.3));

    防止无打开应用,系统出错的需要在JAVA文件添加以下代码,同时若无法打开,也可以使用Toast向用户说明。

    if (intent.resolveActivity(getPackageManager())!=null){
            startActivity(intent);
    }
    else{
            Toast.makeText(this,”Error”,Toast.LENGTH_SHORT).show();  //Toast弹出消息设置
    }

    我们Coffee应用需要的邮件功能,存在三个Action

    ACTION_SENDTO

    无附件

    ACTION_SEND

    1个附件

    ACTION_MULTIPLE

    多个附件

    添加ExtraSUBJECT表主题,EMAIL表所有收件人的字符串arrayTEXT表邮件正文主体内容。

    Intent intent = new Intent (Intent.ACTION_SENDTO);
    intent.setData(Uri.phrase(“mailto:”));
    intent.putExtra(intent.EXTRA_EMAIL,address);   //收件人地址String Array
    intent.putExtra(intent.EXTRA_SUBJECT,subject);  //邮件主题
    intent.putExtra(intent.EXTRA_TEXT,Msg);  //邮件正文主体

     申明:

    1、本笔记为文字及图片均为个人原创,转载请注明博客园-igoslly

    2、Android开发课程于2017年4年参与GoogleDeveloper进行学习,笔记原版http://www.studyjamscn.com/thread-20580-1-1.html#pid272486

  • 相关阅读:
    [转] EJB 3和Spring技术体系比较
    JBOSS只能本机localhost和127.0.0.1能访问的解决
    JBOSS EAP 6.0+ Standalone模式安装成Windows服务
    IBM WebSphere MQ 7.5基本用法
    maven学习(上)- 基本入门用法
    mac下环境变量、maven3.1.1 及 jdk1.7.0.45配置
    java:读/写配置文件
    java:使用匿名类直接new接口
    java与c#的反射性能比较
    XmlSpy / XSD 以及 验证
  • 原文地址:https://www.cnblogs.com/igoslly/p/6844154.html
Copyright © 2020-2023  润新知