我在網上看到摩訊的分享SDK,然後下載來看看,不過裡面缺少了選擇圖庫的功能,於是乎沒事就加上 調用圖庫選擇本地圖片的功能,大家有對摩訊有興趣的話可以去下載來看看 摩訊分享SDK 摩訊社區SDK 先上實現代碼:
”分享本地圖片“按鈕事件:[java] //選擇圖片,調用圖庫 bt4.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent(Intent.ACTION_GET_CONTENT); intent.setType("image/*"); intent.putExtra("crop", true); intent.putExtra("return-data", true); startActivityForResult(intent, 2); } }); 點擊之後跳轉到圖庫:這是一個回呼函數,選擇完圖片,第一個if 判斷是否返回成功,第二個if 判斷requestCode和上面 startActivity(),裡的參數相同,就擷取圖片 ,注意:在上面按鈕裡一定要加上這句話: intent.putExtra("return-data", true); 否則返回的data 為空白,稍後詳 細講解參數的作用[html] @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); if (resultCode == RESULT_OK) { System.out.println("requestCode"+requestCode); if (requestCode == 2) { Uri uri = data.getData(); System.out.println(uri.getPath()); ContentResolver cr = this.getContentResolver(); try { bmp = BitmapFactory.decodeStream(cr.openInputStream(uri)); MCShareLaunchShareHelper.shareContentWithBitmap("測試分享本地圖片", bmp, "your share url", "", MoxunActivity.this); } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } } 回呼函數跳轉返回成功,跳轉到分享介面(回呼函數中這句話 是我調用的摩訊的分享SDK的功能,跟本文無關 MCShareLaunchShareHelper.shareContentWithBitmap("測試分享本地圖片", bmp, "your share url", "", MoxunActivity.this);), 中部那個android圖片就是所選的那張圖片 Android中 調用圖庫選擇圖片的參數詳解 Intent intent = new Intent(Intent.ACTION_GET_CONTENT, null); intent.setType("image/*"); //這個參數是確定要選擇的內容為圖片,intent.putExtra("crop", "circle"); //設定了參數,就會調用裁剪,如果不設定,就會跳過裁剪的過程。intent.putExtra("aspectX", 33); //這個是裁剪時候的 裁剪框的 X 方向的比例。intent.putExtra("aspectY",43); //同上Y 方向的比例. (注意: aspectX, aspectY ,兩個值都需要為 整數,如果有一個為浮點數,就會導致比例失效。)//設定aspectX 與 aspectY 後,裁剪框會按照所指定的比例出現,放大縮小都不會更改。如果不指定,那麼 裁剪框就可以隨意調整了。intent.putExtra("outputX", 50); //返回資料的時候的 X 像素大小。 intent.putExtra("outputY", 100); //返回的時候 Y 的像素大小。//以上兩個值,設定之後會按照兩個值產生一個Bitmap, 兩個值就是這個bitmap的橫向和縱向的像素值,如果裁剪的映像和這個像素值不符合,那麼空白部分以黑色填充。intent.putExtra("noFaceDetection", true); // 是否去除面部檢測, 如果你需要特定的比例去裁剪圖片,那麼這個一定要去掉,因為它會破壞掉特定的比例。 intent.putExtra("return-data", true); //是否要傳回值。 一般都要。我第一次忘加了,總是取得空值,囧!startActivityForResult(intent, 1);