第六节--Intent和Uri的综合应用

Intent:

java.lang.Object
   ↳android.content.Intent
Known Direct Subclasses

原意:

An intent is an abstract description of an operation to be performed. It can be used with startActivity to launch an Activity, broadcastIntent to send it to any interested BroadcastReceiver components, and startService(Intent) or bindService(Intent, ServiceConnection, int) to communicate with a background Service.

译文:

意图一个操作的抽象描述要执行的可用于发动了startActivity活动,broadcastIntent将其发送到任何有兴趣的BroadcastReceiver组件和startService意图)bindService(意图ServiceConnectionint)以沟通,后台服务

 

 

示例展示:


演示效果:

以下是常用到的Intent的URI

     一、打开一个网页,类别是Intent.ACTION_VIEW

  Uri uri = Uri.parse(“http://blog.3gstdy.com/”);

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

  二、打开地图并定位到一个点

  Uri uri = Uri.parse(“geo:52.76,-79.0342″);

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

  三、打开拨号界面 ,类型是Intent.ACTION_DIAL

  Uri uri = Uri.parse(“tel:10086″);

  Intent intent = new Intent(Intent.ACTION_DIAL, uri);

  四、直接拨打电话,与三不同的是,这个直接拨打电话,而不是打开拨号界面

  Uri uri = Uri.parse(“tel:10086″);

  Intent intent = new Intent(Intent.ACTION_CALL, uri);

  五、卸载一个应用,Intent的类别是Intent.ACTION_DELETE

  Uri uri = Uri.fromParts(“package”, “xxx”, null);

  Intent intent = new Intent(Intent.ACTION_DELETE, uri);

  六、安装应用程序,Intent的类别是Intent.ACTION_PACKAGE_ADDED

  Uri uri = Uri.fromParts(“package”, “xxx”, null);

  Intent intent = new Intent(Intent.ACTION_PACKAGE_ADDED, uri);

  七、播放音频文件

  Uri uri = Uri.parse(“file:///sdcard/download/everything.mp3″);

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

  intent.setType(“audio/mp3″);

  八、打开发邮件界面

  Uri uri= Uri.parse(“mailto:admin@3gstdy.com”);

  Intent intent = new Intent(Intent.ACTION_SENDTO, uri);

  九、发邮件,与八不同这里是将邮件发送出去,

  Intent intent = new Intent(Intent.ACTION_SEND);

  String[] tos = { “admin@3gstdy.com” };

  String[] ccs = { “webmaster@3gstdy.com” };

  intent.putExtra(Intent.EXTRA_EMAIL, tos);

  intent.putExtra(Intent.EXTRA_CC, ccs);

  intent.putExtra(Intent.EXTRA_TEXT, “I come from http://blog.3gstdy.com”);

  intent.putExtra(Intent.EXTRA_SUBJECT, “http://blog.3gstdy.com”);intent.setType(“message/rfc882″);

  Intent.createChooser(intent, “Choose Email Client”);

  //发送带附件的邮件

  Intent intent = new Intent(Intent.ACTION_SEND);

  intent.putExtra(Intent.EXTRA_SUBJECT, “The email subject text”);

  intent.putExtra(Intent.EXTRA_STREAM, “file:///sdcard/mysong.mp3″);

  intent.setType(“audio/mp3″);

  startActivity(Intent.createChooser(intent, “Choose Email Client”));

  十、发短信

  Uri uri= Uri.parse(“tel:10086″);

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

  intent.putExtra(“sms_body”, “I come from http://blog.3gstdy.com”);

  intent.setType(“vnd.Android-dir/mms-sms”);

  十一、直接发邮件

  Uri uri= Uri.parse(“smsto://100861″);

  Intent intent = new Intent(Intent.ACTION_SENDTO, uri);

  intent.putExtra(“sms_body”, “3g android http://blog.3gstdy.com”);

  十二、发彩信

  Uri uri= Uri.parse(“content://media/external/images/media/23″);

  Intent intent = new Intent(Intent.ACTION_SEND);

  intent.putExtra(“sms_body”, “3g android http://blog.3gstdy.com”);

  intent.putExtra(Intent.EXTRA_STREAM, uri);

  intent.setType(“image/png”);

  十三、# Market 相关

  1 //寻找某个应用

  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

  2 //显示某个应用的相关信息

  Uri uri = Uri.parse(“market://details?id=app_id”);

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

  startActivity(it);

  //where app_id is the application ID, find the ID

  //by clicking on your application on Market home

  //page, and notice the ID from the address bar

  十四、路径规划

  Uri uri = Uri.parse(“http://maps.google.com/maps?f=d&saddr=startLat%20startLng&daddr=endLat%20endLng&hl=en”);

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

  startActivity(it);



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值