Android 無需申請key直接呼叫微信/QQ/微博分享
無需申請key直接呼叫微信/QQ/微博分享
支援單圖,多圖,文字,單圖+文字,多圖+文字
具體還需要看情況,自己試一下
package com.yaphetzhao.library_shareanywhere;
import android.Manifest;
import android.app.Activity;
import android.content.ComponentName;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.graphics.Bitmap;
import android.graphics.drawable.BitmapDrawable;
import android.graphics.drawable.Drawable;
import android.net.Uri;
import android.os.Build;
import android.provider.MediaStore;
import android.view.View;
import android.support.v4.app.ActivityCompat;
import android.support.v4.content.ContextCompat;
import java.util.ArrayList;
import java.util.Collections;
/**
* Created by yaphet
* on 2018/3/21.
*/
public class ShareAnyWhereUtil {
/**
* bitmapToUri
*
* @param context
* @param bitmap
* @return
*/
public static Uri bitmapToUri(Activity context, Bitmap bitmap) {
if (!checkPermission(context)) {
return null;
}
return Uri.parse(MediaStore.Images.Media.insertImage(context.getContentResolver(), bitmap, null, null));
}
/**
* drawableToUri
*
* @param context
* @param drawable
* @return
*/
public static Uri drawableToUri(Activity context, Drawable drawable) {
if (!checkPermission(context)) {
return null;
}
return Uri.parse(MediaStore.Images.Media.insertImage(context.getContentResolver(), ((BitmapDrawable) drawable).getBitmap(), null, null));
}
/**
* viewToUri
*
* @param context
* @param view
* @return
*/
public static Uri viewToUri(Activity context, View view) {
if (!checkPermission(context)) {
return null;
}
view.buildDrawingCache();
return Uri.parse(MediaStore.Images.Media.insertImage(context.getContentResolver(), view.getDrawingCache(), null, null));
}
/**
* createUriList
*
* @param uris
* @return
*/
public static ArrayList<Uri> createUriList(Uri... uris) {
ArrayList<Uri> result = new ArrayList<>();
Collections.addAll(result, uris);
return result;
}
/**
* 分享到Weichat
*
* @param context
* @param uris
* @param desc
*/
public static void shareWeichat(Activity context, ArrayList<Uri> uris, String desc) {
if (!checkPermission(context)) {
return;
}
Intent intent = new Intent();
ComponentName comp = new ComponentName("com.tencent.mm", "com.tencent.mm.ui.tools.ShareImgUI");
intent.setComponent(comp);
intent.setAction(Intent.ACTION_SEND_MULTIPLE);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.setAction(Intent.ACTION_SEND_MULTIPLE);
intent.setType("image/*");
intent.putParcelableArrayListExtra(Intent.EXTRA_STREAM, uris);
intent.putExtra("Kdescription", desc);
context.startActivity(intent);
}
/**
* 分享到新浪微博
*
* @param context
* @param uris
* @param desc
*/
public static void shareWeibo(Activity context, ArrayList<Uri> uris, String desc) {
if (!checkPermission(context)) {
return;
}
Intent intent = new Intent();
intent.setPackage("com.sina.weibo");
intent.setAction(Intent.ACTION_SEND_MULTIPLE);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.setAction(Intent.ACTION_SEND_MULTIPLE);
intent.setType("image/*");
intent.putParcelableArrayListExtra(Intent.EXTRA_STREAM, uris);
intent.putExtra("Kdescription", desc);
context.startActivity(intent);
}
/**
* 分享到QQ
*
* @param context
* @param uris
* @param desc
*/
public static void shareQQ(Activity context, ArrayList<Uri> uris, String desc) {
if (!checkPermission(context)) {
return;
}
Intent intent = new Intent();
ComponentName comp = new ComponentName("com.tencent.mobileqq", "com.tencent.mobileqq.activity.JumpActivity");
intent.setComponent(comp);
intent.setAction(Intent.ACTION_SEND_MULTIPLE);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.setAction(Intent.ACTION_SEND_MULTIPLE);
intent.setType("image/*");
intent.putParcelableArrayListExtra(Intent.EXTRA_STREAM, uris);
intent.putExtra("Kdescription", desc);
context.startActivity(intent);
}
/**
* 許可權檢查
*
* @param context
* @return
*/
private static boolean checkPermission(Activity context) {
if (ContextCompat.checkSelfPermission(context, Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED ||
ContextCompat.checkSelfPermission(context, Manifest.permission.READ_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
String[] mPermissionList = new String[]{
Manifest.permission.WRITE_EXTERNAL_STORAGE,
Manifest.permission.READ_EXTERNAL_STORAGE};
ActivityCompat.requestPermissions(context, mPermissionList, 1);
return false;
}
}
return true;
}
}
相關推薦
Android 無需申請key直接呼叫微信/QQ/微博分享
無需申請key直接呼叫微信/QQ/微博分享 支援單圖,多圖,文字,單圖+文字,多圖+文字 具體還需要看情況,自己試一下 package com.yaphetzhao.library_shareanywhere; import android.Mani
Android友盟分享整合微信QQ微博分享demo精簡版
c.將debug.keystore檔案加入到build.gradle同級,目的是為了使用友盟的簽名,完成後 build.gradle應該是這樣 apply plugin: 'com.android.application' android { com
js分享功能(微信,QQ,微博,空間,豆瓣等)
一鍵 image title 抓取 mit lin png Opens dia 日常編程中,我們可能會碰到項目中的分享功能,各大平臺都有分享接口和文檔說明,當然也有一些一鍵分享插件,例如:sosh,iShare.js等等 但有些同學不想引用插件,那麽我整理了一些常用的分享
Android呼叫系統分享和指定app分享-微信朋友圈圖文分享和qq分享
1.呼叫系統分享 根據每個手機的情況不同,開啟的分享面板內容也是不一樣的。其實本質上,分享的目標app是外掛化開發,這樣呼叫分享的時候,才能開啟對應的Activity,而不需要開啟一個完整的app程序。 /** * 呼叫本地分享文字 */ privatevoid
微信支付開發:10分鐘幫你開通微信支付微信免充值代金券和微信免充值立減與折扣,申請微信免充值代金券,社交立減金
www. 查詢 5.5 輸入 bubuko nbsp blog 等待 ota 功能介紹: 商戶不需要預先充值營銷經費,即可創建和激活免充值代金券活動。活動生效後,用戶到店使用微信支付,當訂單符合優惠規則時,會直接扣減核銷優惠商戶的訂單實收金額。 免充值,營銷資金“0”占用
在Android中使App快速 簡單地支援新浪微博 微信 QQ facebook等十幾個主流社交平臺的分享功能
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!  
Android 仿微信qq未讀訊息角標 BadgeView的使用
新增依賴: compile 'q.rorbin:badgeview:1.1.3' 使用方法: TextView textview = (TextView) findViewById(R.id.textview); new QBadgeView(this)
微信小微商戶申請入駐介面PHP示例
介面文件地址 【檢視】 該介面請求需要雙向證書。 【詳見證書使用】 在curl請求這裡和圖片上傳介面一樣都需要上傳證書的,詳見我的上一篇部落格 微信小微商戶圖片上傳介面 下面給出的程式碼 publicKeyEncrypt 方法中的 $publickey 就是證書下載介面返回的
微信QQ通過分享連結直接開啟APP問題
需求:通過分享連結開啟APP並定位到分享的頁面 x5瀏覽器可能有URL scheme白名單, 1、第三方瀏覽器和應用(除了騰訊)開啟APP普遍方法是通過 URL scheme 直接開啟APP。“app://abc”. 自己其他應用可以相互喚醒,並定位到
還在羨慕微信/微博的圖片處理?-android酷炫圖片處理(下)
微信一向是android開發者們模仿的物件,上篇文章中,我介紹了一個和微信圖片壓縮,壓縮效果差不多的庫Luban,這篇文章還會介紹高仿微信從檔案系統選擇圖片。此外微博載入超長大圖功能也很酷炫(其實微信朋友圈也有),這篇文章也給出了實現這種效果的功能庫,當然,除此之外還有很多其他酷炫效果的
呼叫微信介面實現網頁分享小功能
// 獲取access_token *注意* 經過實際開發測試,微信分享不支援跨域請求,因此獲取access_token的請求必須從伺服器發起,否則無法獲取到access_token所以以下都是服務端操作 一、微信util類 public class Share
Android使用友盟整合QQ、微信、微博等第三方分享
前言 最近專案需要加入第三方分享和登入功能,之前其他專案的第三方分享和登入一直都使用ShareSDK實現的。為了統一使用友盟的全家桶,所以三方分享和登入也就選擇了友盟。這裡記錄一下完整的整合與使用流程。 1、申請友盟Appkey 直接到友盟官網申請即可
Android 檢測系統是否安裝微信,微博,QQ
/** * 檢測是否安裝微信 * * @param context * @return */ public static boolean isWxInstall(Context context) { final Packag
Android整合shareSdk進行微信和微信朋友圈的分享
①去官網下載SDK 我沒有下文件,故下載下來只有一個 解壓後進入會看到這樣一個資料夾 這個資料夾裡面就是兩個核心model,因為想偷懶所以就沒有按照官網上的選擇自已只需要的平臺,把所有的平臺都整合進來了.那些jar包自動全有
Android 使用shareSDK進行第三方登入失敗解決方法(微信,微博,qq)
這幾天在搞第三方登入,由於ios版本的要早於android版,所以各大平臺上的賬號都是註冊稽核好的。 登入到平臺,新增android版本,加入shareSDK,原本想著很輕鬆,誰知道一測試全部失敗,都不能登入。 驗證了新增流程,驗證了各大平臺的key 都沒有問題。 於是去
微信:微信掃碼支付、呼叫統一下單介面、網站支付 + springmvc
準備:根據統一下單介面API我先定義了三個物件:UnifiedOrderRequest(統一下單請求引數(必填))、UnifiedOrderRequestExt(統一下單請求引數(非必填))、UnifiedOrderRespose(統一下單返回引數);具體如下程式碼,get、set方法可自行生產,太佔篇幅。
Android微信/QQ紅包自動搶(AccessibilityService)
關於搶紅包的文章已經很多了,我再來總結下,QQ的順便也實現下,原理很簡單,搜尋螢幕中的文字,搜尋到了就點選,QQ相對來說要簡單一些 關鍵程式碼: AccessibilityNodeInfo nodeInfo = getRootInActiveWindow
Android使用ShareSDK整合QQ、微信、微博等第三方分享
前言 第三方分享幾乎是每個APP的必須功能。有些人說看官方的文件實在讓人眼花繚亂,以前自己第一次做這些功能的時候也會遇到很多坑。這裡整理了一份比較詳細的,主要給新手學習。有任何問題歡迎提出來! 1、獲取ShareSDK的AppKey 2
Android微博,微信,QQ分享功能的實現
最近專案要求實現微博,微信,QQ的分享功能,並且要求有分享回撥,提示使用者分享成功還是失敗.當用戶從三方應用點選分享的連線的時候,通過h5頁面可以下載安裝app或者直接進入app的對應頁面. 首先說以下我遇到的幾個問題吧 QQ無法進行回撥,但是確實已經
android分享網路圖片到微信,QQ無法顯示
最近在做分享功能的時候,線上圖片無法顯示的問題,在此記錄一下 1.分享的圖片路徑中包含中文,將中文部分做一下編碼處理就OK了,編碼程式碼如下: public static String enco