Sunday, January 20, 2013

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

转载自:http://blog.csdn.net/yanglian20009/article/details/7592117 因为怕下次自己找不到该资料.

工程结构

//效果图  

点击测试分享                                                                                                          点击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 plaincopy

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

OK。。完事儿,回家

No comments: