调用系统应用解析(必需要加各自使用的权限) 


android intent 隐式意图和显示意图(activity跳转)

显示意图要求必须知道被激活组件的包和class

隐式意图仅仅须要知道跳转activity的动作和数据,就能够激活相应的组件

A 主activity  B 接收跳转的activity

步骤

1:在主配置文件里声明B 至少要声明一个android:name属性

[html

<activity 

           android:name=".DemoActivity" 

           android:label="@string/demoActivity" > 

           <intent-filter> 

 

               <!-- 隐士意图中指定intent的名字 自定义 可匹配多项 --> 

               <action android:name="com.itcast.intent.DemoActivity" /> 

               <!-- 隐式intent须要指定的activity的类型,可自定义该值,须要在调用的时候相相应不写该项默觉得 android.intent.category.DEFAULT,可匹配多项 --> 

               <category android:name="android.intent.category.DEFAULT" /> 

               <!-- 指定传想该activity数值的类型 和主机,假设指定该项,就必须在跳转activity的时候传入还数据和主机名 --> 

               <data 

                   android:host="cn.itcast.demo" 

                   android:scheme="itcast" /> 

           </intent-filter> 

       </activity>

//将电话号码传入拨号程序

Intent intent = new Intent(Intent.ACTION_DIAL, Uri .parse("tel:123456789")); 
    startActivity(intent);
//直接的拨打对应号码

Intent intent = new Intent(Intent.ACTION_CALL, Uri .parse("tel:123456789")); 
    startActivity(intent);


路径规划:

  1. Uri uri = Uri.parse("http://maps.google.com/maps?

f=d&saddr=startLat%20startLng&daddr=endLat%20endLng&hl=en");

  2. Intent it = new Intent(Intent.ACTION_VIEW,URI);

  3. startActivity(it);

//查看指定联系人

Uri personUri = ContentUris.withAppendedId(People.CONTENT_URI, info.id);//info.id联系人ID

Intent intent = new Intent();

intent.setAction(Intent.ACTION_VIEW);

intent.setData(personUri);

startActivity(intent);


拨打电话:

调用拨号程序

  1. Uri uri = Uri.parse("tel:xxxxxx");

  2. Intent it = new Intent(Intent.ACTION_DIAL, uri);   

  3. startActivity(it);   

  1. Uri uri = Uri.parse("tel.xxxxxx");

  2. Intent it =new Intent(Intent.ACTION_CALL,uri);

  3. 要使用这个必须在配置文件里增加<uses-permission id="Android.permission.CALL_PHONE" />


Uninstall 程序

  1. Uri uri = Uri.fromParts("package", strPackageName, null);

  2. Intent it = new Intent(Intent.ACTION_DELETE, uri);

  3. startActivity(it);
//进入联系人页面

Intent intent = new Intent();

intent.setAction(Intent.ACTION_VIEW);

intent.setData(People.CONTENT_URI);

startActivity(intent);
//搜索应用

Uri uri = Uri.parse("market://search?

q=pname:pkg_name");   

Intent it = new Intent(Intent.ACTION_VIEW, uri);   

startActivity(it);   

//where pkg_name is the full package path for an application

发送SMS/MMS

调用发送短信的程序

  1. Intent it = new Intent(Intent.ACTION_VIEW);

  2. it.putExtra("sms_body", "The SMS text");

  3. it.setType("vnd.android-dir/mms-sms");

  4. startActivity(it);   
//调用相冊

public static final String MIME_TYPE_IMAGE_JPEG = "image/*";

public static final int ACTIVITY_GET_IMAGE = 0;

Intent getImage = new Intent(Intent.ACTION_GET_CONTENT); 

getImage.addCategory(Intent.CATEGORY_OPENABLE); 

getImage.setType(MIME_TYPE_IMAGE_JPEG);

startActivityForResult(getImage, ACTIVITY_GET_IMAGE);
//发送附件

Intent it = new Intent(Intent.ACTION_SEND);   

it.putExtra(Intent.EXTRA_SUBJECT, "The email subject text");   

it.putExtra(Intent.EXTRA_STREAM, "[url=]file:///sdcard/eoe.mp3[/url]");   

sendIntent.setType("audio/mp3");   

startActivity(Intent.createChooser(it, "Choose Email Client"));
install apk

Uri installUri = Uri.fromParts("package", "xxx", null);

returnIt = new Intent(Intent.ACTION_PACKAGE_ADDED, installUri);

play audio

Uri playUri = Uri.parse("[url=]file:///sdcard/download/everything.mp3[/url]");

returnIt = new Intent(Intent.ACTION_VIEW, playUri);
播放多媒体

  1.   

  2. Intent it = new Intent(Intent.ACTION_VIEW);

  3. Uri uri = Uri.parse("[url=]file:///sdcard/song.mp3[/url]");

  4. it.setDataAndType(uri, "audio/mp3");

  5. startActivity(it);

  1. Uri uri = Uri.withAppendedPath(MediaStore.Audio.Media.INTERNAL_CONTENT_URI, "1");

  2. Intent it = new Intent(Intent.ACTION_VIEW, uri);

  3. startActivity(it);   
//调用系统相机应用程序。并存储拍下来的照片

Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); 

time = Calendar.getInstance().getTimeInMillis();

intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(new File(Environment

.getExternalStorageDirectory().getAbsolutePath()+"/tucue", time + ".jpg")));

startActivityForResult(intent, ACTIVITY_GET_CAMERA_IMAGE);


加入附件

  1. Intent it = new Intent(Intent.ACTION_SEND);

  2. it.putExtra(Intent.EXTRA_SUBJECT, "The email subject text");

  3. it.putExtra(Intent.EXTRA_STREAM, "[url=]file:///sdcard/mysong.mp3[/url]");

  4. sendIntent.setType("audio/mp3");

  5. startActivity(Intent.createChooser(it, "Choose Email Client"));


发送短信

  1. Uri uri = Uri.parse("smsto:0800000123");

  2. Intent it = new Intent(Intent.ACTION_SENDTO, uri);

  3. it.putExtra("sms_body", "The SMS text");

  4. startActivity(it);   


发送彩信

  1. Uri uri = Uri.parse("content://media/external/images/media/23");

  2. Intent it = new Intent(Intent.ACTION_SEND);

  3. it.putExtra("sms_body", "some text");

  4. it.putExtra(Intent.EXTRA_STREAM, uri);

  5. it.setType("image/png");

  6. startActivity(it);
发送Email

  1.

  2. Uri uri = Uri.parse("mailto:xxx@abc.com");

  3. Intent it = new Intent(Intent.ACTION_SENDTO, uri);

  4. startActivity(it);

  1. Intent it = new Intent(Intent.ACTION_SEND);

  2. it.putExtra(Intent.EXTRA_EMAIL, "me@abc.com");

  3. it.putExtra(Intent.EXTRA_TEXT, "The email body text");

  4. it.setType("text/plain");

  5. startActivity(Intent.createChooser(it, "Choose Email Client"));   

  1. Intent it=new Intent(Intent.ACTION_SEND);   

  2. String[] tos={"me@abc.com"};   

  3. String[] ccs={"you@abc.com"};   

  4. it.putExtra(Intent.EXTRA_EMAIL, tos);   

  5. it.putExtra(Intent.EXTRA_CC, ccs);   

  6. it.putExtra(Intent.EXTRA_TEXT, "The email body text");   

  7. it.putExtra(Intent.EXTRA_SUBJECT, "The email subject text");   

  8. it.setType("message/rfc822");

  9. startActivity(Intent.createChooser(it, "Choose Email Client"));

显示网页:

1. Uri uri = Uri.parse("http://www.google.com");

  2. Intent it = new Intent(Intent.ACTION_VIEW,uri);

  3. startActivity(it);

显示地图:

 1. Uri uri = Uri.parse("geo:38.899533,-77.036476");

  2. Intent it = new Intent(Intent.Action_VIEW,uri);

  3. startActivity(it);
uninstall apk

/**未測试

Uri uninstallUri = Uri.fromParts("package", "xxx", null);

returnIt = new Intent(Intent.ACTION_DELETE, uninstallUri);

*/

Uri packageURI = Uri.parse("package:"+wistatmap);   

Intent uninstallIntent = new Intent(Intent.ACTION_DELETE, packageURI);

startActivity(uninstallIntent);

最新文章

  1. MongoDB的学习和使用(MongoDB GridFS)
  2. WordPress插件入口菜单创建的位置代码
  3. nodejs项目在webstorm里进行debug的设定
  4. SQL优化之【类型转换】
  5. C++中静态数据成员
  6. 1287. Mars Canals(DP)
  7. linux中class_create和class_register说明
  8. [C++]VAssistX函数添加注释功能设置
  9. Eclipse 经验之谈(一):快速打war包
  10. 【转】四步完成win7 ubuntu双系统安装(硬盘,无需光驱)
  11. ul不加宽高
  12. 第15章 迭代器模式(Iterator Pattern)
  13. 【转】Jmeter(二)-使用代理录制脚本
  14. rs.Open sql,conn,0,2,1
  15. 详细解剖大型H5单页面应用的核心技术点
  16. JAVA课程设计个人博客 学生成绩管理 201521123014 黄绍桦
  17. [LeetCode] Find Mode in Binary Search Tree 找二分搜索数的众数
  18. mongodb插入数据获取本次插入的mongodb id
  19. JDBC(14)—对DAO进行改进修改
  20. day8 文件操作

热门文章

  1. java中的super限定
  2. SpringMVC响应Restful风格请求404
  3. css position: relative | absolute | static | fixed详解
  4. ISP封了80和8080端口
  5. Java 变长參数Varargs
  6. Linux内核分析:实验八--Linux进程调度与切换
  7. SpringMVC学习小结
  8. openstack neutron L3 HA
  9. python3 logging 日志记录模块
  10. Atom打开报错:&quot;Cannot load the system dictionary for zh-CN&quot;