長(zhǎng)按分享功能

第一

ivDialogbg.setOnLongClickListener(new View.OnLongClickListener() {

@Override

? ? public boolean onLongClick(View v) {

showSelectAlerts(Contants.EXCHANGE_BANNER_ICON_URL +lbb.getMsg());

return false;

? ? }

});

第二

private void showSelectAlerts(final String url) {//專屬二維碼

? ? ? ? AlertDialog.Builder builder =new AlertDialog.Builder(getActivity());

? ? ? ? String str[] = {"發(fā)送給朋友", "保存到手機(jī)", "識(shí)別圖中二維碼"};

? ? ? ? builder.setItems(str, new DialogInterface.OnClickListener() {

@Override

? ? ? ? ? ? public void onClick(DialogInterface dialogInterfacem, int i) {

switch (i) {

case 0:

showShare(url);

//? ? ? ? ? ? ? ? ? ? ? ? Toast.makeText(getActivity(),"發(fā)送給朋友",Toast.LENGTH_LONG).show();

? ? ? ? ? ? ? ? ? ? ? ? break;

? ? ? ? ? ? ? ? ? ? case 1:

//? ? ? ? ? ? ? ? ? ? ? ? Toast.makeText(getActivity(),"保存圖片",Toast.LENGTH_LONG).show();

? ? ? ? ? ? ? ? ? ? ? ? Glide.with(getActivity()).load(url).asBitmap().toBytes().into(new SimpleTarget() {

@Override

? ? ? ? ? ? ? ? ? ? ? ? ? ? public void onResourceReady(byte[] bytes, GlideAnimation glideAnimation) {

try {

savaBitmap(bytes);

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? }catch (Exception e) {

e.printStackTrace();

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? }

}

});

break;

? ? ? ? ? ? ? ? ? ? case 2:

SharedPreferences sp? = getActivity().getSharedPreferences("loginNum", MODE_PRIVATE);

? ? ? ? ? ? ? ? ? ? ? ? int userid = sp.getInt("userId",-1);

? ? ? ? ? ? ? ? ? ? ? ? String mobile = sp.getString("mobile","-1");

? ? ? ? ? ? ? ? ? ? ? ? Intent intents =new Intent(getActivity(), RegisterActivity.class);

? ? ? ? ? ? ? ? ? ? ? ? intents.putExtra("userid", userid);

? ? ? ? ? ? ? ? ? ? ? ? intents.putExtra("mobile", mobile);

? ? ? ? ? ? ? ? ? ? ? ? startActivity(intents);

break;

? ? ? ? ? ? ? ? }

}

});

? ? ? ? builder.show();

? ? }


第三部分? ?單獨(dú)轉(zhuǎn)分享

集成mobSDK? 也是ShareSDK

1,在項(xiàng)目外部build.gradle 中 設(shè)置如下

dependencies {

classpath'com.android.tools.build:gradle:3.1.2'

? ? classpath'com.mob.sdk:MobSDK:+'? //重點(diǎn)

}

2,在項(xiàng)目APP中的build.gradle 中? 配置需要分享的SDK

applyplugin:'com.mob.sdk'

android{

......

MobSDK {

appKey"27ed99e83d379"

? ? appSecret"7b2519037aa8e66f26c5f1d82dc5adae"

? ? ShareSDK {

//平臺(tái)配置信息

? ? ? ? devInfo {

SinaWeibo {

appKey"568898243"

? ? ? ? ? ? ? ? appSecret"38a4f8204cc784f81f9f0daaf31e02e3"

? ? ? ? ? ? ? ? callbackUri"http://www.sharesdk.cn"

? ? ? ? ? ? ? ? shareByAppClientfalse

? ? ? ? ? ? }

Wechat {

id4

? ? ? ? ? ? ? ? sortId4

? ? ? ? ? ? ? ? appId"wx4868b35061f87885"

? ? ? ? ? ? ? ? appSecret"64020361b8ec4c99936c0e3999a9f249"

? ? ? ? ? ? ? ? userName"gh_afb25ac019c9"

? ? ? ? ? ? ? ? path "pages/index/index.html?id=1"

? ? ? ? ? ? ? ? bypassApprovaltrue

? ? ? ? ? ? ? ? enabletrue

? ? ? ? ? ? }

WechatMoments{

Id="5"

? ? ? ? ? ? ? ? SortId="5"

? ? ? ? ? ? ? ? AppId="wxf8b14da3087d67b2"

? ? ? ? ? ? ? ? AppSecret="wxf8b14da3087d67b2"

? ? ? ? ? ? ? ? BypassApproval="true"

? ? ? ? ? ? ? ? Enable="true"

? ? ? ? ? ? }

QQ {

appId"100371282"

? ? ? ? ? ? ? ? appKey"aed9b0303e3ed1e27bae87c33761161d"

? ? ? ? ? ? ? ? shareByAppClienttrue

? ? ? ? ? ? }

//? ? ? ? ? ? Facebook {

//? ? ? ? ? ? ? ? appKey "1412473428822331"

//? ? ? ? ? ? ? ? appSecret "a42f4f3f867dc947b9ed6020c2e93558"

//? ? ? ? ? ? ? ? callbackUri "https://mob.com"

//? ? ? ? ? ? }

? ? ? ? }

}

}

}

3,使用如下

private void showShare(String url) {

OnekeyShare oks =new OnekeyShare();

? ? ? ? //關(guān)閉sso授權(quán)

? ? ? ? oks.disableSSOWhenAuthorize();

//? ? ? ? oks.setTitle("123");

//? ? ? ? oks.setText("12");

//? ? ? ? oks.setTitleUrl("http://www.sina.com/");

//? ? ? ? oks.setUrl("http://www.sina.com/");

? ? ? ? oks.setImageUrl(url);

? ? ? ? oks.setTheme(OnekeyShareTheme.CLASSIC);

? ? ? ? // title標(biāo)題,微信、QQ和QQ空間等平臺(tái)使用

//? ? ? ? oks.setTitle(getString(R.string.share));

// titleUrl QQ和QQ空間跳轉(zhuǎn)鏈接

//? ? ? ? oks.setTitleUrl("http://sharesdk.cn");

// text是分享文本,所有平臺(tái)都需要這個(gè)字段

//? ? ? ? oks.setText("我是分享文本");

// imagePath是圖片的本地路徑,Linked-In以外的平臺(tái)都支持此參數(shù)

//? ? ? ? oks.setImagePath("/sdcard/test.jpg");//確保SDcard下面存在此張圖片

// url在微信、微博,F(xiàn)acebook等平臺(tái)中使用

//? ? ? ? oks.setUrl(url);

// comment是我對(duì)這條分享的評(píng)論,僅在人人網(wǎng)使用

//? ? ? ? oks.setComment("我是測(cè)試評(píng)論文本");

? ? ? ? oks.setCallback(new PlatformActionListener() {

@Override

? ? ? ? ? ? public void onComplete(final Platform platform, int i, final HashMap hashMap) {

Message msg =new Message();

? ? ? ? ? ? ? ? msg.what =0;

? ? ? ? ? ? ? ? msg.obj = platform;

? ? ? ? ? ? ? ? new Handler(Looper.getMainLooper(), new Handler.Callback() {

@Override

? ? ? ? ? ? ? ? ? ? public boolean handleMessage(Message msg) {

platform.getName().equals(Wechat.NAME);

? ? ? ? ? ? ? ? ? ? ? ? Toast.makeText(getContext(), "分享成功", Toast.LENGTH_SHORT).show();

? ? ? ? ? ? ? ? ? ? ? ? ewmDialog.setVisibility(View.GONE);

return false;

? ? ? ? ? ? ? ? ? ? }

}).sendMessage(msg);

? ? ? ? ? ? ? ? platform.removeAccount(true);

? ? ? ? ? ? }

@Override

? ? ? ? ? ? public void onError(Platform platform, int i, final Throwable throwable) {

new Handler(Looper.getMainLooper()).post(new Runnable() {

@Override

? ? ? ? ? ? ? ? ? ? public void run() {

Toast.makeText(getContext(), "分享失敗" +throwable.getMessage(), Toast.LENGTH_SHORT).show();

? ? ? ? ? ? ? ? ? ? }

});

? ? ? ? ? ? }

@Override

? ? ? ? ? ? public void onCancel(Platform platform, int i) {

new Handler(Looper.getMainLooper()).post(new Runnable() {

@Override

? ? ? ? ? ? ? ? ? ? public void run() {

Toast.makeText(getContext(), "分享取消", Toast.LENGTH_SHORT).show();

? ? ? ? ? ? ? ? ? ? }

});

? ? ? ? ? ? }

});

? ? ? ? // 啟動(dòng)分享GUI

? ? ? ? oks.show(getActivity());

? ? }

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容