怎样将自己的应用加入系统的分享选择列表?

来源:互联网 发布:新浪博客发网络繁忙 编辑:程序博客网 时间:2024/06/05 01:53
先看一个腾讯微博的例子(网友反编译后的例子)
[html] view plaincopy
  1. <activity android:name=".activity.MicroBlogInput" android:screenOrientation="portrait" android:configChanges="keyboardHidden|orientation" android:windowSoftInputMode="stateAlwaysVisible|adjustResize">  
  2. <intent-filter android:label="@string/albums_sendbyWBlog">                  
  3. <action android:name="android.intent.action.SEND" />                  
  4. <data android:mimeType="image/*" />                           
  5. <category android:name="android.intent.category.DEFAULT" />             
  6. </intent-filter>  
  7. </activity>   
    通过上面的可以看出下面这些是关键:
    [html] view plaincopy
    1. <intent-filter android:label="@string/albums_sendbyWBlog">                 
    2. <action android:name="android.intent.action.SEND" />                  
    3. <data android:mimeType="image/*" />                           
    4. <category android:name="android.intent.category.DEFAULT" />              
    5. </intent-filter>  


    那我们就在我们的程序中添加相应的代码即可以实现
    [java] view plaincopy
    1. <data android:mimeType="image/*" />   //可以是text/plain  

      如果自定义弹出列表的项(毕竟如果程序安装的多的话,会出现好长好长的列表)


      [java] view plaincopy
      1. /* 获得支持ACTION_SEND的应用列表 */  
      2. private List<ResolveInfo> getShareTargets(){  
      3. Intent intent=new Intent(Intent.ACTION_SEND,null);  
      4. intent.addCategory(Intent.CATEGORY_DEFAULT);  
      5. intent.setType("text/plain");  
      6.   
      7. PackageManager pm=this.getPackageManager();  
      8.   
      9. return pm.queryIntentActivities(intent,
0 0
原创粉丝点击