記事:
https://www.jianshu.com/p/9522e24713e1
図1に示すように、ツールは、(PlatformUtil)クラスを定義します
呼び出し:Platformutil.isInstallApp(コンテキスト、PlatformUtil.PACKAGE_WECHAT); //は、マイクロチャネルをインストールするかどうかを判断します
public class PlatformUtil {
public static final String PACKAGE_WECHAT = "com.tencent.mm"; public static final String PACKAGE_MOBILE_QQ = "com.tencent.mobileqq"; public static final String PACKAGE_QZONE = "com.qzone"; public static final String PACKAGE_SINA = "com.sina.weibo"; // 判断是否安装指定app public static boolean isInstallApp(Context context, String app_package){ final PackageManager packageManager = context.getPackageManager(); List<PackageInfo> pInfo = packageManager.getInstalledPackages(0); if (pInfo != null) { for (int i = 0; i < pInfo.size(); i++) { String pn = pInfo.get(i).packageName; if (app_package.equals(pn))) { return true; } } } return false; } }
2、QQのシェア
/ **
*直接分享纯文本内容至QQ好友
* @param mContext
* @paramコンテンツ
* /
パブリック静的ボイドshareQQ(コンテキストmContext、文字列の内容){
IF(PlatformUtil.isInstallApp(mContext、PlatformUtil.PACKAGE_MOBILE_QQ)){
意図意図=新しいテント( "android.intent.action.SEND");
intent.setType( "text / plainの");
intent.putExtra(Intent.EXTRA_SUBJECT、 "分享");
intent.putExtra(Intent.EXTRA_TEXT、コンテンツ)。
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK)。
intent.setComponent(新しいコンポーネント名( "com.tencent.mobileqq"、 "com.tencent.mobileqq.activity.JumpActivity"));
mContext.startActivity(インテント)。
}他{
Toast.makeText(mContextは、Toast.LENGTH_LONG "あなたはQQのクライアントをインストールする必要があります").SHOWを();
}
}
呼び出します。
shareQQ(現在のコンテキスト、テキストを渡すために)
shareQQ(のgetContext()、newsList.get(位置).getTitle()CONCAT(newsList.get(位置).getUrl()));
3、微信分享
/ **
*直接分享文本到微信好友
*
* @paramコンテキスト上下文
* /
公共ボイドshareWechatFriend(コンテキスト・コンテキスト、文字列の内容){
IF(PlatformUtil.isInstallApp(文脈、PlatformUtil.PACKAGE_WECHAT)){
意図意図=新しいテント() ;
コンポーネント名の警官=新しいコンポーネント名( "com.tencent.mm"、 "com.tencent.mm.ui.tools.ShareImgUI");
intent.setComponent(COP);
intent.setAction(Intent.ACTION_SEND)。
intent.putExtra( "android.intent.extra.TEXT"、コンテンツ)。
// intent.putExtra( "sms_body"、コンテンツ)。
intent.putExtra( "Kdescription"、TextUtils.isEmpty(コンテンツ)コンテンツ:!? "");
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
Context.startActivity(意図);
}他{
Toast.makeText(文脈、Toast.LENGTH_LONG "あなたは、クライアントのマイクロチャネルをインストールする必要があります").SHOW();
}
}
コール:
shareWechatFriend(のgetContext()、newsList.get(位置).getTitle()CONCAT(newsList.get(位置).getUrl()));