正文  基础知识 > Intent >

Android 开发之:Intent.createChooser() 妙用

Intent.createChooser(ntent target, CharSequence title)其实 大家对该功能第一影响就是ApiDemo 里面的 其只有区区几行代码 提取为...

Intent.createChooser(ntent target, CharSequence title)

其实 大家对该功能第一影响就是ApiDemo 里面的 其只有区区几行代码  提取为:

Intent intent = new Intent(Intent.ACTION_GET_CONTENT);   

  1. intent.setType("audio/*");   
  2. startActivity(Intent.createChooser(intent, "Select music"));  

 

执行之 会弹出一个对话框 效果为:

\

其实 对于这段代码 大家应该都能猜出什么意思  现自己模拟并理解之

[代码]

1. 定义TestActivity 用于根据传入Uri  播放目标

public class TestActivity extends Activity {   
  1.        
  2.     @Override  
  3.     public void onCreate(Bundle savedInstanceState) {   
  4.         super.onCreate(savedInstanceState);   
  5.         setContentView(R.layout.main);   
  6.         this.setTitle("TestActivity");   
  7.            
  8.         Intent i = this.getIntent();   
  9.            
  10.         Uri u = i.getData();   
  11.            
  12.         try {   
  13.             playMusic(u);   
  14.         } catch (IllegalArgumentException e) {   
  15.             // TODO Auto-generated catch block   
  16.             e.printStackTrace();   
  17.         } catch (SecurityException e) {   
  18.             // TODO Auto-generated catch block   
  19.             e.printStackTrace();   
  20.         } catch (IllegalStateException e) {   
  21.             // TODO Auto-generated catch block   
  22.             e.printStackTrace();   
  23.         } catch (IOException e) {   
  24.             // TODO Auto-generated catch block   
  25.             e.printStackTrace();   
  26.         }   
  27.     }   
  28.        
  29.     public void playMusic(Uri uri) throws IllegalArgumentException, SecurityException, IllegalStateException, IOException{   
  30.         MediaPlayer mp = new MediaPlayer();   
  31.         mp.setDataSource(this, uri);   
  32.         mp.prepare();   
  33.         mp.start();   
  34.     }   
  35. }  

2. 在AndroidManifest 注册TestActivity

<activity -->
点击复制链接 与好友分享!回本站首页
function copyToClipBoard(){ var clipBoardContent=document.title + '\r\n' + document.location; clipBoardContent+='\r\n'; window.clipboardData.setData("Text",clipBoardContent); alert("恭喜您!复制成功"); } -->
分享到: 更多
您对本文章有什么意见或着疑问吗?请到论坛讨论您的关注和建议是我们前行的参考和动力  
上一篇:什么时候加上android.intent.category.DEFAULT和LAUNCHER
下一篇:Android到底那个Acitivity启动
相关文章
android C编程技巧 及 C/C++开发测试
Java程序移植到android上问题解决小结
Android入门第一篇
Android入门第二篇之LinearLayout、Ab
Android入门第三篇之RelativeLayout、
Android入门第四篇之TableLayout (一)
Android入门第五篇之TableLayout (二)
Android入门第六篇之ListView (一)
Android入门第七篇之ListView (二)
Android入门第八篇之GridView(九宫图)
图文推荐
Android4.3的新类UiA
Android五种数据传递
Android Message和o
[Android]逸雨清风
排行
热门
1,359 | Android开发学习笔记:浅谈WebView
1,120 | Android的AlertDialog详解
1,024 | Android中ADT插件的安装
912 | Android之ActionBar学习
729 | Android自定义Button按钮显示样式
560 | 浅谈android的selector背景选择器
533 | Android中的PopupWindow详解
448 | Android Canvas类介绍(zhuan)
-->
文章
下载
读书
· Win2000下关闭无用端口
· 禁止非法用户登录综合设置 [win9x篇]
· 关上可恶的后门——消除NetBIOS隐患
· 网络入侵检测系统
· 潜伏在Windows默认设置中的陷井
· 调制解调器的不安全
· 构建Windows 2000服务器的安全防护林
· SQL Server 2000的安全配置
-->
阿里云手机应用开发点
编写高效的android代
 Android AIDL 远程服务器使用示例
 阿里云手机应用开发点滴
 编写高效的android代码(译文)
 给Android应用开发者的十个建议
 android网络业务的封装与调度
 Android_手把手教你写跳跃类游戏(3)
 Android 4.1 Surface系统变化说明
 android 实现QQ好友列表(扩展listvi
-->