(ShareSdk、友盟分享)
AndroidManifest.xml
文件中,看到微信可以接受android.intent.action.SEND
的Intent,mimeType
可以是图片"image/*"
、视频“video/*”
、音频"audio/*"
、文本"text/*"
、各种二进制文件"application/*"
intent
,接下来介绍一下ComponentName
new ComponentName("包名","类名");
来创建ComponentName
Intent.setComponent(ComponentName)
来启动其他应用的Activity
//微信的包名
public static final String PACKAGE_WECHAT = "com.tencent.mm";
// 判断是否安装指定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;
}
/**
* 直接分享文本到微信好友
*
* @param context 上下文
*/
public static void shareText2WechatFriend(Context context, String content) {
if (PlatformUtil.isInstallApp(context, PlatformUtil.PACKAGE_WECHAT)) {
Intent intent = new Intent();
ComponentName cop = new ComponentName("com.tencent.mm", "com.tencent.mm.ui.tools.ShareImgUI");
intent.setComponent(cop);
intent.setAction(Intent.ACTION_SEND);
intent.putExtra("android.intent.extra.TEXT", content);
intent.putExtra("Kdescription", !TextUtils.isEmpty(content) ? content : "");
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(intent);
} else {
Toast.makeText(context, "您需要安装微信客户端", Toast.LENGTH_LONG).show();
}
}
好啦,分享到QQ、微博等等平台也可以参考这种方法哦,完全没必要费时间申请集成三方SDK!