Android 安卓:通过facebook、Gmail、twitter等分享一些东西

Android 安卓:通过facebook、Gmail、twitter等分享一些东西,android,android-intent,share,Android,Android Intent,Share,我希望我的应用程序在facebook、Gmail和twitter上共享文本后不会被泄露 它工作正常,但应用程序冻结,我执行了以下代码: public static void shareArticleUrl(Context fromActivity,String subject,String URL){ List<Intent> targetedShareIntents = new ArrayList<Intent>();

我希望我的应用程序在facebook、Gmail和twitter上共享文本后不会被泄露

它工作正常,但应用程序冻结,我执行了以下代码:

 public static void shareArticleUrl(Context fromActivity,String subject,String URL){


           List<Intent> targetedShareIntents = new ArrayList<Intent>();
            Intent shareIntent = new Intent(android.content.Intent.ACTION_SEND);
            shareIntent.setType("text/plain");
            List<ResolveInfo> resInfo = this.fromActivity.getPackageManager().queryIntentActivities(shareIntent, 0);
            if (!resInfo.isEmpty()){
                for (ResolveInfo resolveInfo : resInfo) {
                    String packageName = resolveInfo.activityInfo.packageName;
                    Intent targetedShareIntent = new Intent(android.content.Intent.ACTION_SEND);
                    targetedShareIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                    targetedShareIntent.setType("text/plain");
                    targetedShareIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, subject);

                    if (packageName.equals("com.facebook.katana")){
                         targetedShareIntent.putExtra(android.content.Intent.EXTRA_TEXT,URL);
                    }
                    else{
                         targetedShareIntent.putExtra(android.content.Intent.EXTRA_TEXT, "TEXT HERE");
                         }

                    targetedShareIntent.setPackage(packageName);
                    targetedShareIntents.add(targetedShareIntent);


                }
                Intent chooserIntent = Intent.createChooser(targetedShareIntents.remove(targetedShareIntents.size()-1), "Choose Application");
                chooserIntent.putExtra(Intent.EXTRA_INITIAL_INTENTS, targetedShareIntents.toArray(new Parcelable[]{}));

                fromActivity.startActivity(chooserIntent);
            }
       }
public静态void shareArticleUrl(Context fromActivity、字符串主题、字符串URL){
List targetedShareContents=new ArrayList();
意向共享意向=新意向(android.content.Intent.ACTION\u SEND);
shareIntent.setType(“文本/普通”);
List resInfo=this.fromActivity.getPackageManager().QueryInputActivities(shareIntent,0);
如果(!resInfo.isEmpty()){
对于(ResolveInfo ResolveInfo:resInfo){
字符串packageName=resolveInfo.activityInfo.packageName;
Intent targetedShareIntent=新意图(android.content.Intent.ACTION\u SEND);
targetedShareIntent.setFlags(意图、标志、活动、新任务);
targetedShareContent.setType(“文本/普通”);
targetedShareContent.putExtra(android.content.Intent.EXTRA_SUBJECT,SUBJECT);
if(packageName.equals(“com.facebook.katana”)){
targetedShareIntent.putExtra(android.content.Intent.EXTRA_TEXT,URL);
}
否则{
targetedShareIntent.putExtra(android.content.Intent.EXTRA_TEXT,“此处文本”);
}
targetedShareContent.setPackage(packageName);
targetedShareIntents.add(targetedShareIntent);
}
Intent chooserentent=Intent.createChooser(targetedShareContents.remove(targetedShareContents.size()-1),“选择应用程序”);
选择content.putExtra(Intent.EXTRA_INITIAL_INTENTS,targetedShareContents.toArray(新包裹[]{}));
fromActivity.startActivity(选择内容);
}
}

我在“其他人”活动中调用此静态函数,我有什么问题?

乍看起来还行。有日志错误吗?我觉得这与它是一个静态函数这一事实有关。你在保留静态引用吗?使用socialauth-android