Android Intent用法全面详解

举报
再见孙悟空_ 发表于 2022/01/12 22:51:20 2022/01/12
【摘要】 朋友们在开发的时候对Intent肯定并不陌生,下面总结了一下Intent除了用在activity之间的跳转,还可以        在哪些地方使用: 1.显示网页 Uri uri = Uri.parse("http://www.google.com"); Intent it = new Int...

朋友们在开发的时候对Intent肯定并不陌生,下面总结了一下Intent除了用在activity之间的跳转,还可以        在哪些地方使用:


1.显示网页


  
  1. Uri uri = Uri.parse("http://www.google.com");
  2. Intent it = new Intent(Intent.ACTION_VIEW,uri);
  3. startActivity(it);


2.拨打电话:
调用拨号程序分两种情况,一种是跳转到拨号界面,另一种是直接拨打电话。根据不同的需求选择不同的方式。
1)这种写法是跳转到对应的拨号界面


  
  1. Uri uri = Uri.parse("tel:xxxxxx");
  2. Intent it = new Intent(Intent.ACTION_DIAL, uri);
  3. startActivity(it);



2)这种写法是直接拨打电话 


  
  1. Uri uri = Uri.parse("tel.xxxxxx");
  2. Intent it =new Intent(Intent.ACTION_CALL,uri);
  3. startActivity(it);



要使用这个必须在配置文件中加入<uses-permission id="android.permission.CALL_PHONE" /> 


3.发送SMS/MMS 发送短信和 拨打电话那个类似。两种情况 一种是跳转到发短信界面,另一种是直接发送短信。


1)调用发送短信的程序界面


  
  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);


 
2)直接发送短信


  
  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);



3)发送彩信


  
  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);



4.发送Email


  
  1. Uri uri = Uri.parse("mailto:xxx@abc.com");
  2. Intent it = new Intent(Intent.ACTION_SENDTO, uri);
  3. startActivity(it);
  4. Intent it = new Intent(Intent.ACTION_SEND);
  5. it.putExtra(Intent.EXTRA_EMAIL, "me@abc.com");
  6. it.putExtra(Intent.EXTRA_TEXT, "The email body text");
  7. it.setType("text/plain");
  8. startActivity(Intent.createChooser(it, "Choose Email Client"));



5.添加附件


  
  1. Intent it = new Intent(Intent.ACTION_SEND);
  2. it.putExtra(Intent.EXTRA_SUBJECT, "The email subject text");
  3. it.putExtra(Intent.EXTRA_STREAM, "file:///sdcard/mysong.mp3");
  4. sendIntent.setType("audio/mp3");
  5. startActivity(Intent.createChooser(it, "Choose Email Client"));





6.播放多媒体 


  
  1. Intent it = new Intent(Intent.ACTION_VIEW);
  2. Uri uri = Uri.parse("file:///sdcard/song.mp3");
  3. it.setDataAndType(uri, "audio/mp3");
  4. startActivity(it);
  5. Uri uri = Uri.withAppendedPath(MediaStore.Audio.Media.INTERNAL_CONTENT_URI, "1");
  6. Intent it = new Intent(Intent.ACTION_VIEW, uri);
  7. startActivity(it);




7.分享功能


  
  1. Intent intent = new Intent(Intent.ACTION_SEND);
  2. intent.setType("text/plain");
  3. String msg = "我正在使用星空琴行软件,不错哦 ,你也快来试试看吧!";
  4. intent.putExtra(Intent.EXTRA_TEXT, msg);
  5. startActivity(Intent.createChooser(intent, "分享"));

 


8.跳转到应用市场 自己应用详情  评分页面


  
  1. Uri uri = Uri.parse("market://details?id=" + getPackageName());
  2. intent = new Intent(Intent.ACTION_VIEW, uri);
  3. intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
  4. try {
  5. startActivity(intent);
  6. } catch (ActivityNotFoundException exception) {
  7. MobclickAgent.reportError(this, exception);
  8. SingleToast.show(this, R.string.msg_need_app_market);
  9. }


 

文章来源: wukong.blog.csdn.net,作者:再见孙悟空_,版权归原作者所有,如需转载,请联系作者。

原文链接:wukong.blog.csdn.net/article/details/44828587

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

举报
请填写举报理由
0/200