Android 系统分享图片、文字、代码

2019-11-27  本文已影响0人  Stonebridg_0470

                                               使用系统自带分享功能,分享图片文字

1、分享文本

//分享文字

public void shareText() {

    Intent shareIntent = new Intent();

    shareIntent.setAction(Intent.ACTION_SEND);

    shareIntent.putExtra(Intent.EXTRA_TEXT, "This is my Share text.");

    shareIntent.setType("text/plain");

    //设置分享列表的标题,并且每次都显示分享列表

    startActivity(Intent.createChooser(shareIntent, "分享到"));

}

2、分享网络图片

//分享单张图片

public void shareSingleImage() {

    //由文件得到uri

    Uri imageUri = Uri.parse(MediaStore.Images.Media.insertImage(getActivity().getContentResolver(), bitmap, null, null));

    Intent shareIntent = new Intent();

    shareIntent.setAction(Intent.ACTION_SEND);

    shareIntent.putExtra(Intent.EXTRA_STREAM, imageUri);

    shareIntent.setType("image/*");

    startActivity(Intent.createChooser(shareIntent, "分享到"));

}

---------------------      url 转 bitmap        ------------------------

/**

    * 异步线程下载图片

    */

    Bitmap bitmap;

    /**

    * 获取网络图片

    *

    * @param imageurl 图片网络地址

    * @return Bitmap 返回位图

    */

    public Bitmap GetImageInputStream(String imageurl) {

        URL url;

        HttpURLConnection connection = null;

        Bitmap bitmap = null;

        try {

            url = new URL(imageurl);

            connection = (HttpURLConnection) url.openConnection();

            connection.setConnectTimeout(6000); //超时设置

            connection.setDoInput(true);

            connection.setUseCaches(false); //设置不使用缓存

            InputStream inputStream = connection.getInputStream();

            bitmap = BitmapFactory.decodeStream(inputStream);

            inputStream.close();

        } catch (Exception e) {

            e.printStackTrace();

        }

        return bitmap;

    }

    class Task extends AsyncTask<String, Integer, Void> {

        protected Void doInBackground(String... params) {

            bitmap = GetImageInputStream((String) params[0]);

            return null;

        }

        protected void onPostExecute(Void result) {

            super.onPostExecute(result);

            Message message = new Message();

            message.what = 0x123;

        }

    }

上一篇 下一篇

猜你喜欢

热点阅读