第一
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());
? ? }