android Intent.createChooser 应用选择器 !!!

转载 2012年03月22日 11:44:41

参考:http://www.iteye.com/topic/690376


http://www.cnblogs.com/wservices/archive/2010/07/07/1772737.html

http://hi.baidu.com/lck0502/blog/item/2d0036efb844a800fcfa3c58.html


也许 下面的场景 我们经常碰到:



但是 你可知道原因 :

Java代码  收藏代码
  1. Intent intent = new Intent(Intent.ACTION_GET_CONTENT);  
  2. intent.setType("audio/*");  
  3. startActivity(Intent.createChooser(intent, "Select music")); 

它使用了Intent.ACTION_GET_CONTENT 和 MIME 类型来查找支持audio/* 的所有Data Picker ,允许用户选择其中之一。

我们也可以让自己的activity出现在picker里面 :

Java代码  收藏代码
  1. <activity android:name=".TestActivity"  
  2.                   android:label="TestActivity">  
  3.             <intent-filter>  
  4.                 <action android:name="android.intent.action.GET_CONTENT" />  
  5.                  <category android:name="android.intent.category.DEFAULT" />  
  6.                  <category android:name="android.intent.category.OPENABLE" />  
  7.                  <data android:mimeType="audio/music1" />  
  8.             </intent-filter>  
  9.         </activity>  



Intent.ACTION_CHOOSER = “android.intent.action.CHOOSER” 其作用是显示一个Activity选择器。

Intent提供了一个静态的createChooser方法,让我们能够更方便的创建这样一个Intent

我们再看一个设置壁纸的例子
Java代码  收藏代码
  1. private void startWallpaper() {  
  2.   
  3.         closeAllApps(true);  
  4.   
  5.         final Intent pickWallpaper = new Intent(Intent.ACTION_SET_WALLPAPER);  
  6.   
  7.         Intent chooser = Intent.createChooser(pickWallpaper,  
  8.   
  9.                 getText(R.string.chooser_wallpaper));  
  10.   
  11.    
  12.   
  13.         startActivityForResult(chooser, REQUEST_PICK_WALLPAPER);  
  14.   
  15.     }  



在Home界面“按Menu键”--“点击壁纸”后自然就能在一个对话框里列出这些应用,让用户选择到哪里去设置壁纸了,如下图所示。





相关文章推荐

Intent选择系统资源(图片,媒体等)的两种方式

/** * 获取资源方式1 * * @param view */ public void onGet1(View view) { Intent intent = new Int...
  • noiary
  • noiary
  • 2015年03月15日 00:50
  • 377

React-native从startActivityForResult中获取结果

注:以下内容涉及原生的调用逻辑,有必要很清楚。android端在这部分发现官方文档的内容并不能调用到module中的activityResult方法,在整理了逻辑以后,觉得应该在包含reactView...

android Intent.createChooser 应用选择器

简单的分析了一下源代码,在 [java] view plaincopy final Intent pickWallpaper = new Intent(Intent.ACTION_...

如何自定义Intent.createChooser的显示结果

Intent是android核心的概念之一,Intent为android系统提供了真正的开放。android的姿态是开放了,但却没有做到位。 拿“发邮件”这一功能来说,为了使用Intent机制来发送...

Android使用Intent一键分享图片文字到腾讯、新浪、开心、微信等

现在分享应用很多,消耗研发与维护时间,增加项目成本,而且集成分享功能后我们的应用包会比以前要大几MB。其实有android的Intent可以满足分享文字和图片的需求,而且不增加应用包的大小。 ...

Android Intent.createChooser() .

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

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

Intent.createChooser(ntent target, CharSequence title)其实 大家对该功能第一影响就是ApiDemo 里面的 其只有区区几行代码  提取为:Inte...
  • qjbagu
  • qjbagu
  • 2011年05月09日 14:40
  • 487

Android开发知识点:利用意图行为选择器Intent.ACTION_CHOOSER实现“分享更多”功能

今天分享的这个知识点很简单,但却是在应用中看到的功能-“分享”,作为开发者,我们都知道,腾讯,微博,等社交平台都有开放SDK平台,我们可以集成他们的SDK来进行分享,可是很多时候,我们并不想分享到社交...

如何自定义android chooser 应用选择器

先讲讲需求: 1.我们提供一个我方APP支持的应用市场列表a 2.然后在本机上获取所有满足uri(即可根据包名跳到相应应用详情的接口)的列表b 3.取交集后显示在应用选择器上 4.返回是否成功打开ch...

Android 的selector背景选择器应用

常做android的经常会用到selector,每一个控件,都需要单独的处理,只是依赖android本身的控件实在是太难看了。总结一下android的selector的用法: 首先android的s...
  • kdsde
  • kdsde
  • 2013年07月10日 13:43
  • 612
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:android Intent.createChooser 应用选择器 !!!
举报原因:
原因补充:

(最多只允许输入30个字)