zoukankan      html  css  js  c++  java
  • Android应用程序之间共享文字和图片(二)

    MainActivity如下:

    package cn.testshare1;
    import java.io.File;
    import java.util.ArrayList;
    import android.app.Activity;
    import android.content.Intent;
    import android.net.Uri;
    import android.os.Bundle;
    import android.os.Environment;
    import android.view.View;
    import android.view.View.OnClickListener;
    import android.widget.Button;
    /**
     * Demo描述:
     * Android应用程序之间共享文字和图片
     * 
     * 参考资料:
     * http://www.vmeitime.com/post/2012-06-08/40027373105
     */
    public class MainActivity extends Activity {
        private Button mTextButton;
        private Button mPictureButton;
        private Button mPicturesButton;
    	@Override
    	protected void onCreate(Bundle savedInstanceState) {
    		super.onCreate(savedInstanceState);
    		setContentView(R.layout.main);
    		init();
    	}
        private void init(){
        	mTextButton=(Button) findViewById(R.id.shareTextButton);
        	mTextButton.setOnClickListener(new ClickListenerImpl());
        	mPictureButton=(Button) findViewById(R.id.sharePicButton);
        	mPictureButton.setOnClickListener(new ClickListenerImpl());
        	mPicturesButton=(Button) findViewById(R.id.sharePicsButton);
        	mPicturesButton.setOnClickListener(new ClickListenerImpl());
        }
    
    	private class ClickListenerImpl implements OnClickListener {
    		@Override
    		public void onClick(View view) {
    			switch (view.getId()) {
    			case R.id.shareTextButton:
    				shareText("这是要分享的内容");
    				break;
    			case R.id.sharePicButton:
    				sharePicture();
    				break;
    			case R.id.sharePicsButton:
    				sharePictures();
    				break;
    
    			default:
    				break;
    			}
    
    		}
    
    	}
    	
    	//共享文字
    	private void shareText(String string) {
    		Intent intent = new Intent(Intent.ACTION_SEND);
    		intent.putExtra(Intent.EXTRA_TEXT, string);
    		intent.setType("text/plain");
    		Intent.createChooser(intent,"共享文字");
    		startActivity(intent);
    	}
    	
    	//共享一张图片
    	private void sharePicture(){
    		Intent intent = new Intent();
    		intent.setAction(Intent.ACTION_SEND);
    		File file = new File(Environment.getExternalStorageDirectory()+File.separator+"test1.png");
    		intent.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(file));
    		intent.setType("image/jpeg");
    		Intent.createChooser(intent, "共享一张图片");
    		startActivity(intent);
    	}
    
    	//共享多张图片
    	private void sharePictures(){
    		ArrayList<Uri> picturesUriArrayList=new ArrayList<Uri>();
    		
    		File pictureFile1=new File
    		(Environment.getExternalStorageDirectory()+File.separator+"test1.png");
    		File pictureFile2=new File
    		(Environment.getExternalStorageDirectory()+File.separator+"test2.png");
    		
    		Uri pictureUri1=Uri.fromFile(pictureFile1);
    		Uri pictureUri2=Uri.fromFile(pictureFile2);
    		
    		//不是很好的方式:
    		//因为某些机型报错
    		//Uri pictureUri1=Uri.parse("file:///mnt/sdcard/test1.png");
    		//Uri pictureUri2=Uri.parse("file:///mnt/sdcard/test2.png");
    		
    		//错误的方式:
    		//Uri pictureUri1=Uri.parse
    		//(Environment.getExternalStorageDirectory()+File.separator+"test1.png");
    		//Uri pictureUri2=Uri.parse
    		//(Environment.getExternalStorageDirectory()+File.separator+"test2.png");
    		
    		picturesUriArrayList.add(pictureUri1);
    		picturesUriArrayList.add(pictureUri2);
    		
    		Intent intent = new Intent();
    		intent.setAction(Intent.ACTION_SEND_MULTIPLE);
    	    intent.putParcelableArrayListExtra(Intent.EXTRA_STREAM, picturesUriArrayList); 
    		intent.setType("image/jpeg");
    		Intent.createChooser(intent, "共享多张图片");
    		startActivity(intent);
    	}
    
    }
    


     

    main.xml如下:

    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        >
    
        <Button
            android:id="@+id/shareTextButton"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_centerHorizontal="true"
            android:layout_marginTop="50dip"
            android:text="共享文字" 
         />
        <Button
            android:id="@+id/sharePicButton"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_centerHorizontal="true"
            android:layout_marginTop="150dip"
            android:text="共享一张图片" 
         />
        <Button
            android:id="@+id/sharePicsButton"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_centerHorizontal="true"
            android:layout_marginTop="250dip"
            android:text="共享多张图片" 
         />
    
    </RelativeLayout>


     

  • 相关阅读:
    博客园
    未释放的已删除文件
    ssh连接缓慢
    剑指 Offer 38. 字符串的排列
    剑指 Offer 37. 序列化二叉树
    剑指 Offer 50. 第一个只出现一次的字符
    剑指 Offer 36. 二叉搜索树与双向链表
    剑指 Offer 35. 复杂链表的复制
    剑指 Offer 34. 二叉树中和为某一值的路径
    剑指 Offer 33. 二叉搜索树的后序遍历序列
  • 原文地址:https://www.cnblogs.com/javawebsoa/p/3223602.html
Copyright © 2011-2022 走看看