android过滤器应用程序返回两条twitter消息

android过滤器应用程序返回两条twitter消息,android,twitter,Android,Twitter,我正在尝试过滤手机上的应用程序,facebook和twitter是我想要找到的。下面是我使用的代码,它可以很好地过滤twitter和facebook,让我发布一些东西。后来我过滤了两个twitter应用程序。有人知道为什么吗 我使用调试更多,并发现这些,为什么我得到两个twitter包。我已尝试删除并重新安装我的twitter应用程序,但无法运行 ResolveInfo{445f8600 com.twitter.android/.composer.composer活动m=0x608000} Re

我正在尝试过滤手机上的应用程序,facebook和twitter是我想要找到的。下面是我使用的代码,它可以很好地过滤twitter和facebook,让我发布一些东西。后来我过滤了两个twitter应用程序。有人知道为什么吗

我使用调试更多,并发现这些,为什么我得到两个twitter包。我已尝试删除并重新安装我的twitter应用程序,但无法运行

ResolveInfo{445f8600 com.twitter.android/.composer.composer活动m=0x608000} ResolveInfo{445f14d0 com.twitter.android/.dmm=0x608000}

    private void shareContent() {
    UtuBaseActivity activity = (UtuBaseActivity) getActivity();
    if (activity == null || activity.isFinishing())
        return;

    if (promotionDetail == null)
        return;

    String title = getResources().getString(R.string.share_chooser_title);
    String app_name = getResources().getString(R.string.app_name);

    List<Intent> targetShareIntents = new ArrayList<>();
    Intent shareIntent = new Intent();
    shareIntent.setAction(Intent.ACTION_SEND);
    shareIntent.setType("text/plain");
    List<ResolveInfo> resInfos = activity.getPackageManager().queryIntentActivities(shareIntent, 0);
    if (!resInfos.isEmpty()) {
        for (ResolveInfo resInfo : resInfos) {
            String packageName = resInfo.activityInfo.packageName;
            if (packageName.contains("com.twitter.android") || packageName.contains("com.facebook.katana")) {
                Intent intent = new Intent();
                intent.setComponent(new ComponentName(packageName, resInfo.activityInfo.name));
                intent.setAction(Intent.ACTION_SEND);
                intent.setType("text/plain");
                intent.putExtra(Intent.EXTRA_SUBJECT, app_name);
                intent.putExtra(Intent.EXTRA_TEXT, promotionDetail.getCoverpicture());
                intent.setPackage(packageName);
                targetShareIntents.add(intent);
            }
        }

        if (!targetShareIntents.isEmpty()) {
            Intent chooserIntent = Intent.createChooser(targetShareIntents.remove(0), title);
            chooserIntent.putExtra(Intent.EXTRA_INITIAL_INTENTS, targetShareIntents.toArray(new Parcelable[]{}));
            startActivity(chooserIntent);
        } else {
            // As fallback, launch sharer.php in a browser
            String sharerUrl = "https://www.facebook.com/sharer/sharer.php?u=" + promotionDetail.getCoverpicture();
            Intent i = new Intent(Intent.ACTION_VIEW, Uri.parse(sharerUrl));
            startActivity(i);
        }
    }
}
private void shareContent(){
UtuBaseActivity activity=(UtuBaseActivity)getActivity();
if(activity==null | | activity.isFinishing())
返回;
if(promotionDetail==null)
返回;
String title=getResources().getString(R.String.share\u chooser\u title);
字符串app\u name=getResources().getString(R.String.app\u name);
List targetShareIntents=new ArrayList();
意向共享意向=新意向();
shareIntent.setAction(Intent.ACTION\u SEND);
shareIntent.setType(“文本/普通”);
List resinfo=activity.getPackageManager().queryInputActivities(shareIntent,0);
如果(!resinfo.isEmpty()){
对于(ResolveInfo resInfo:resInfo){
字符串packageName=resInfo.activityInfo.packageName;
if(packageName.contains(“com.twitter.android”)| | packageName.contains(“com.facebook.katana”)){
意图=新意图();
setComponent(新组件名(packageName、resInfo.activityInfo.name));
intent.setAction(intent.ACTION\u SEND);
intent.setType(“文本/普通”);
intent.putExtra(intent.EXTRA主题、应用程序名称);
intent.putExtra(intent.EXTRA_TEXT,promotionDetail.getCoverpicture());
intent.setPackage(packageName);
targetShareIntents.add(意图);
}
}
如果(!targetShareIntents.isEmpty()){
Intent-chooserint=Intent.createChooser(targetShareIntents.remove(0),title);
选择content.putExtra(Intent.EXTRA_INITIAL_INTENTS,targetShareIntents.toArray(新地块[]{}));
开始触觉(选择内容);
}否则{
//作为备用方案,在浏览器中启动sharer.php
字符串sharerUrl=”https://www.facebook.com/sharer/sharer.php?u=“+promotionDetail.getCoverpicture();
Intent i=新的Intent(Intent.ACTION_视图,Uri.parse(sharerUrl));
星触觉(i);
}
}
}

添加此项,它可以通过测试工作

检查父名称是否等于com.twitter.android.MainActivity

private void shareContent() {
    UtuBaseActivity activity = (UtuBaseActivity) getActivity();
    if (activity == null || activity.isFinishing())
        return;

    if (promotionDetail == null)
        return;

    String title = getResources().getString(R.string.share_chooser_title);
    String app_name = getResources().getString(R.string.app_name);

    List<Intent> targetShareIntents = new ArrayList<>();
    Intent shareIntent = new Intent();
    shareIntent.setAction(Intent.ACTION_SEND);
    shareIntent.setType("text/plain");
    List<ResolveInfo> resInfos = activity.getPackageManager().queryIntentActivities(shareIntent, 0);
    if (!resInfos.isEmpty()) {
        for (ResolveInfo resInfo : resInfos) {
            String packageName = resInfo.activityInfo.packageName;
            String parentName = resInfo.activityInfo.parentActivityName;
            if (packageName.contains("com.twitter.android") || packageName.contains("com.facebook.katana")) {

                if (packageName.contains("com.twitter.android"))
                if (!parentName.equals("com.twitter.android.MainActivity"))
                    continue;

                Intent intent = new Intent();
                intent.setComponent(new ComponentName(packageName, resInfo.activityInfo.name));
                intent.setAction(Intent.ACTION_SEND);
                intent.setType("text/plain");
                intent.putExtra(Intent.EXTRA_SUBJECT, app_name);
                intent.putExtra(Intent.EXTRA_TEXT, promotionDetail.getCoverpicture());
                intent.setPackage(packageName);
                targetShareIntents.add(intent);
            }
        }

        if (!targetShareIntents.isEmpty()) {
            Intent chooserIntent = Intent.createChooser(targetShareIntents.remove(0), title);
            chooserIntent.putExtra(Intent.EXTRA_INITIAL_INTENTS, targetShareIntents.toArray(new Parcelable[]{}));
            startActivity(chooserIntent);
        } else {
            // As fallback, launch sharer.php in a browser
            String sharerUrl = "https://www.facebook.com/sharer/sharer.php?u=" + promotionDetail.getCoverpicture();
            Intent i = new Intent(Intent.ACTION_VIEW, Uri.parse(sharerUrl));
            startActivity(i);
        }
    }
}
private void shareContent(){
UtuBaseActivity activity=(UtuBaseActivity)getActivity();
if(activity==null | | activity.isFinishing())
返回;
if(promotionDetail==null)
返回;
String title=getResources().getString(R.String.share\u chooser\u title);
字符串app\u name=getResources().getString(R.String.app\u name);
List targetShareIntents=new ArrayList();
意向共享意向=新意向();
shareIntent.setAction(Intent.ACTION\u SEND);
shareIntent.setType(“文本/普通”);
List resinfo=activity.getPackageManager().queryInputActivities(shareIntent,0);
如果(!resinfo.isEmpty()){
对于(ResolveInfo resInfo:resInfo){
字符串packageName=resInfo.activityInfo.packageName;
字符串parentName=resInfo.activityInfo.parentActivityName;
if(packageName.contains(“com.twitter.android”)| | packageName.contains(“com.facebook.katana”)){
if(packageName.contains(“com.twitter.android”))
如果(!parentName.equals(“com.twitter.android.MainActivity”))
继续;
意图=新意图();
setComponent(新组件名(packageName、resInfo.activityInfo.name));
intent.setAction(intent.ACTION\u SEND);
intent.setType(“文本/普通”);
intent.putExtra(intent.EXTRA主题、应用程序名称);
intent.putExtra(intent.EXTRA_TEXT,promotionDetail.getCoverpicture());
intent.setPackage(packageName);
targetShareIntents.add(意图);
}
}
如果(!targetShareIntents.isEmpty()){
Intent-chooserint=Intent.createChooser(targetShareIntents.remove(0),title);
选择content.putExtra(Intent.EXTRA_INITIAL_INTENTS,targetShareIntents.toArray(新地块[]{}));
开始触觉(选择内容);
}否则{
//作为备用方案,在浏览器中启动sharer.php
字符串sharerUrl=”https://www.facebook.com/sharer/sharer.php?u=“+promotionDetail.getCoverpicture();
Intent i=新的Intent(Intent.ACTION_视图,Uri.parse(sharerUrl));
星触觉(i);
}
}
}

添加此项,它可以通过测试工作

检查父名称是否等于com.twitter.android.MainActivity

private void shareContent() {
    UtuBaseActivity activity = (UtuBaseActivity) getActivity();
    if (activity == null || activity.isFinishing())
        return;

    if (promotionDetail == null)
        return;

    String title = getResources().getString(R.string.share_chooser_title);
    String app_name = getResources().getString(R.string.app_name);

    List<Intent> targetShareIntents = new ArrayList<>();
    Intent shareIntent = new Intent();
    shareIntent.setAction(Intent.ACTION_SEND);
    shareIntent.setType("text/plain");
    List<ResolveInfo> resInfos = activity.getPackageManager().queryIntentActivities(shareIntent, 0);
    if (!resInfos.isEmpty()) {
        for (ResolveInfo resInfo : resInfos) {
            String packageName = resInfo.activityInfo.packageName;
            String parentName = resInfo.activityInfo.parentActivityName;
            if (packageName.contains("com.twitter.android") || packageName.contains("com.facebook.katana")) {

                if (packageName.contains("com.twitter.android"))
                if (!parentName.equals("com.twitter.android.MainActivity"))
                    continue;

                Intent intent = new Intent();
                intent.setComponent(new ComponentName(packageName, resInfo.activityInfo.name));
                intent.setAction(Intent.ACTION_SEND);
                intent.setType("text/plain");
                intent.putExtra(Intent.EXTRA_SUBJECT, app_name);
                intent.putExtra(Intent.EXTRA_TEXT, promotionDetail.getCoverpicture());
                intent.setPackage(packageName);
                targetShareIntents.add(intent);
            }
        }

        if (!targetShareIntents.isEmpty()) {
            Intent chooserIntent = Intent.createChooser(targetShareIntents.remove(0), title);
            chooserIntent.putExtra(Intent.EXTRA_INITIAL_INTENTS, targetShareIntents.toArray(new Parcelable[]{}));
            startActivity(chooserIntent);
        } else {
            // As fallback, launch sharer.php in a browser
            String sharerUrl = "https://www.facebook.com/sharer/sharer.php?u=" + promotionDetail.getCoverpicture();
            Intent i = new Intent(Intent.ACTION_VIEW, Uri.parse(sharerUrl));
            startActivity(i);
        }
    }
}
private void shareContent(){
UtuBaseActivity activity=(UtuBaseActivity)getActivity();
if(activity==null | | activity.isFinishing())
返回;
if(promotionDetail==null)
返回;
String title=getResources().getString(R.String.share\u chooser\u title);
字符串app\u name=getResources().getString(R.String.app\u name);
List targetShareIntents=new ArrayList();
意向共享意向=新意向();
shareIntent.setAction(Intent.ACTION\u SEND);
shareIntent.setType(“文本/普通”);
List resinfo=activity.getPackageManager().queryInputActivities(shareIntent,0);
如果(!resinfo.isEmpty()){
对于(ResolveInfo resInfo:resInfo){
字符串packageName=resInfo.activityInfo.packageName;
字符串parentName=resInfo.activityInfo.parentActivityName;
if(packageName.contains(“com.twitter.android”)| | packageName.contains