分享给微信好友和时间线时,两个标签都显示“微信”

Posted

技术标签:

【中文标题】分享给微信好友和时间线时,两个标签都显示“微信”【英文标题】:both labels shows "WeChat" when share to wechat friend and timeline 【发布时间】:2013-12-30 13:32:27 【问题描述】:

我有一个安卓应用可以分享消息到微信(没有sdk)。

当我直接使用 StartChooser 方法时,显示名称“Send to Moment”和“Send to Chat”显示效果很好。

但是当我想删除我不需要的应用程序时,使用如下意图过滤器,显示名称都显示“WeChat”而不是“Send to Moment”和“Send to Chat”的问题。但同时时间,他们的图标是对的!

谁能告诉我如何获得正确的显示标签?谢谢!

Intent it = new Intent(Intent.ACTION_SEND);
it.setType("image/*");
List<ResolveInfo> resInfo = getPackageManager().queryIntentActivities(it, PackageManager.COMPONENT_ENABLED_STATE_DEFAULT);
if (!resInfo.isEmpty()) 
    List<Intent> targetedShareIntents = new ArrayList<Intent>();
    for (ResolveInfo info : resInfo) 
    
        Intent targeted = new Intent(Intent.ACTION_SEND);
        targeted.setType("image/*");
        ActivityInfo activityInfo = info.activityInfo;

        if (activityInfo.packageName.contains("tencent.mm") || etc..) 
        
            targeted.setClassName(activityInfo.packageName, activityInfo.name);
            targeted.setPackage(activityInfo.packageName);

            targeted.putExtra(Intent.EXTRA_TEXT, "share text");
            targeted.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
            targetedShareIntents.add(targeted);
        
    

    Intent chooserIntent = Intent.createChooser(targetedShareIntents.remove(0), "Share");
    chooserIntent.putExtra(Intent.EXTRA_INITIAL_INTENTS, targetedShareIntents.toArray(new Parcelable[] ));
    startActivity(chooserIntent);

!!!更新 !!! :

如果微信intent放在“Intent.createChooser”中,显示的标签是正确的,但放在“EXTRA_INITIAL_INTENTS”中显示的标签是错误的。

更新 2: 我在How to make an intent with multiple actions 找到答案。使用 LabeledIntent 就可以解决问题了。

【问题讨论】:

【参考方案1】:

这是我如何让它工作的。

CharSequence label = info.loadLabel(getPackageManager());
Intent extraIntents = new LabeledIntent(targeted, activityInfo.packageName, label, info.icon);

targetedShareIntents.add(extraIntents);

【讨论】:

用这个方法可以开任何微信群吗?

以上是关于分享给微信好友和时间线时,两个标签都显示“微信”的主要内容,如果未能解决你的问题,请参考以下文章

微信小程序如何转发给微信好友和微信群

如何把app分享到微信

Android开发:实现分享给微信好友以及出现闪退的问题

微信小程序可以转发给微信好友了

分享给微信好友的淘宝乱码中隐藏了什么秘密

Python下发送定时消息给微信好友