package com.hl.demo; import android.Manifest; import android.app.Activity; import android.content.Context; import android.content.Intent; import android.content.pm.PackageManager; import android.database.Cursor; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.net.Uri; import android.os.Bundle; import android.provider.MediaStore; import android.view.View; import android.widget.CheckBox; import android.widget.CompoundButton; import android.widget.EditText; import android.widget.TextView; import com.hoolai.access.open.fastaccess.channel.FastSdk; import com.hoolai.access.open.fastaccess.channel.request.ShareParams; import com.hoolai.access.open.fastaccess.channel.request.ShareType; import com.hoolai.access.open.fastaccess.interf.HLShareListener; public class ShareActivity extends Activity { private TextView picPathTv, contentTv; private String picPath = ""; private ShareParams params; private ShareType shareType; private EditText share_title, share_content, share_url; private CheckBox share_check; private int qqShareType; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_share); picPathTv = findViewById(R.id.pic_path); contentTv = findViewById(R.id.main_tv); share_title = findViewById(R.id.share_title); share_content = findViewById(R.id.share_content); share_url = findViewById(R.id.share_url); share_check = findViewById(R.id.share_check); qqShareType = 1; share_check.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { qqShareType = isChecked ? 1 : 2; } }); FastSdk.hlShareListener = new HLShareListener() { @Override public void onShareSuccess() { contentTv.setText("分享成功"); } @Override public void onShareFailed(String s) { contentTv.setText("分享失败:" + s); } }; } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); if (requestCode == 100) { if (data != null) { Uri uri = data.getData(); picPath = getImagePath(uri); picPathTv.setText(picPath); } } } public static void start(Context context) { Intent starter = new Intent(context, ShareActivity.class); context.startActivity(starter); } @Override public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) { super.onRequestPermissionsResult(requestCode, permissions, grantResults); if (requestCode == Manifest.permission.WRITE_EXTERNAL_STORAGE.hashCode()){ if (grantResults[0] == PackageManager.PERMISSION_GRANTED) { params = new ShareParams(); params.setTitle(share_title.getText().toString()); params.setContent(share_content.getText().toString()); params.setShareUrl("dongqiudi://share/circle/"); params.setCallbackUrl("game://share/callback"); params.setId("100"); params.setPicPath(picPath); shareType = ShareType.DQD; share(); } } } public void shareSelect(View v){ Intent intent = new Intent(Intent.ACTION_PICK); intent.setDataAndType(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, "image/*"); startActivityForResult(intent, 100); } //分享懂球帝 public void shareDQD(View v){ if(FastSdk.checkPermission(this, Manifest.permission.WRITE_EXTERNAL_STORAGE)){ params = new ShareParams(); params.setTitle(share_title.getText().toString()); params.setContent(share_content.getText().toString()); params.setShareUrl("dongqiudi://share/circle/"); params.setCallbackUrl("game://share/callback"); params.setId("100"); params.setPicPath(picPath); shareType = ShareType.DQD; share(); } } //分享QQ列表包含QQZone public void shareQQZone(View v){ shareType = ShareType.QQ; params = new ShareParams(); params.setTitle(share_title.getText().toString()); params.setContent(share_content.getText().toString()); params.setQqType(qqShareType); params.setShowQQZone(true); params.setPicPath(picPath); params.setShareUrl(share_url.getText().toString()); share(); } //分享QQ列表不包含QQZone public void shareQQ(View v){ shareType = ShareType.QQ; params = new ShareParams(); params.setTitle(share_title.getText().toString()); params.setContent(share_content.getText().toString()); params.setQqType(qqShareType); params.setShowQQZone(false); params.setPicPath(picPath); params.setShareUrl(share_url.getText().toString()); share(); } //分享微信-聊天 public void shareWX(View v){ Bitmap bmp = BitmapFactory.decodeResource(this.getResources(), R.drawable.icon); shareType = ShareType.WX; params = new ShareParams(); params.setTitle(share_title.getText().toString()); params.setContent(share_content.getText().toString()); params.setShareUrl(share_url.getText().toString()); params.setBmp(bmp); params.setWxType(1); share(); } //分享微信-朋友圈 public void sharePYQ(View v){ Bitmap bmp = BitmapFactory.decodeResource(this.getResources(), R.drawable.icon); shareType = ShareType.WX; params = new ShareParams(); params.setTitle(share_title.getText().toString()); params.setContent(share_content.getText().toString()); params.setShareUrl(share_url.getText().toString()); params.setBmp(bmp); params.setWxType(2); share(); } //分享微信-收藏 public void shareWXSC(View v){ Bitmap bmp = BitmapFactory.decodeResource(this.getResources(), R.drawable.icon); shareType = ShareType.WX; params = new ShareParams(); params.setTitle(share_title.getText().toString()); params.setContent(share_content.getText().toString()); params.setShareUrl(share_url.getText().toString()); params.setBmp(bmp); params.setWxType(3); share(); } private void share(){ FastSdk.share(this, shareType, params); } private String getImagePath(Uri uri) { if (uri != null) { String[] imgs = { MediaStore.Images.Media._ID, MediaStore.Images.Media.DATA }; Cursor cursor = getContentResolver().query(uri, imgs, null, null, null); try { if (cursor != null && cursor.moveToFirst()) { return cursor.getString(1); } } finally { if (cursor != null) cursor.close(); } } return null; } }