Android调用系统分享功能以及createChooser的使用

工程结构

//效果图  

点击测试分享                                                                                                          点击createChoose妙用

     

主要是看右边的,可不是用什么Dialog来搞的哦,而是你Activity程序,可以激活进去了

提示:这个东西可以延伸到一个音频文件,打开时,可以调用你的音乐播放器来播放哦,视频,图片,也是类似,可以调用你自己的东西

当然,前提是你的manifest.xml里的东西要配置对呀

<data Android:mimeType="mark/nimei" />  

如下

<activity android:name=".TestActivity"
            android:label="你妹啊"
            >
            <intent-filter>  
                <action android:name="android.intent.action.XXMM" />  
                 <category android:name="android.intent.category.DEFAULT" />  
                 <category android:name="android.intent.category.OPENABLE" />  
                 <data android:mimeType="mark/nimei" />  
            </intent-filter>  
        </activity>
        <activity android:name=".Test2Activity"
            android:label="你妹啊2"
            >
            <intent-filter>  
                <action android:name="android.intent.action.XXMM" />  
                 <category android:name="android.intent.category.DEFAULT" />  
                 <category android:name="android.intent.category.OPENABLE" />  
                 <data android:mimeType="mark/nimei" />  
            </intent-filter>  
        </activity>

 

//代码如下:

[java] view plain copy
  1. package com.mark.share.demo;  
  2.   
  3. import java.io.File;  
  4.   
  5. import android.app.Activity;  
  6. import android.content.Intent;  
  7. import android.net.Uri;  
  8. import android.os.Bundle;  
  9. import android.view.View;  
  10. import android.view.View.OnClickListener;  
  11. import android.widget.Button;  
  12.   
  13. public class AppShareDemoActivity extends Activity  
  14. {  
  15.     private Button testshare;  
  16.     private Button createChooserBtn;  
  17.     @Override  
  18.     public void onCreate(Bundle savedInstanceState)  
  19.     {  
  20.         super.onCreate(savedInstanceState);  
  21.         setContentView(R.layout.main);  
  22.           
  23.         testshare=(Button) findViewById(R.id.testshare);  
  24.         createChooserBtn=(Button) findViewById(R.id.Test_createChooser);  
  25.           
  26.         testshare.setOnClickListener(new OnClickListener()  
  27.         {  
  28.               
  29.             @Override  
  30.             public void onClick(View v)  
  31.             {  
  32.                 Intent intent = new Intent(Intent.ACTION_SEND);  
  33.                 intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);  
  34.                 intent.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(new File("sdcard/1.png")));  //传输图片或者文件 采用流的方式  
  35.                 intent.putExtra(Intent.EXTRA_TEXT, "分享分享微博");   //附带的说明信息  
  36.                 intent.putExtra(Intent.EXTRA_SUBJECT, "标题");  
  37.                 intent.setType("image/*");   //分享图片  
  38.                 startActivity(Intent.createChooser(intent,"分享"));  
  39.             }  
  40.         });  
  41.           
  42.         createChooserBtn.setOnClickListener(new OnClickListener()  
  43.         {  
  44.             @Override  
  45.             public void onClick(View v)  
  46.             {  
  47.                 Intent intent = new Intent();  
  48.                 intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);  
  49.                 intent.setAction("android.intent.action.XXMM");  
  50.                 intent.setDataAndType(Uri.parse("file:///sdcard/DCIM/cc.mp3"), "mark/nimei");    
  51.                 startActivity(Intent.createChooser(intent, "Select music1 app"));    
  52.             }  
  53.         });  
  54.     }  

 

posted on 2016-10-25 16:11  Sun‘刺眼的博客  阅读(5226)  评论(0编辑  收藏  举报

导航