1. 程式人生 > >Android 無需申請key直接呼叫微信/QQ/微博分享

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