0

我想分享我的应用程序屏幕的屏幕截图,其中包含一些详细信息,例如标题、Facebook 墙上的描述。请任何人都可以帮助我我该怎么做?我想使用 facebookSDK。如果有任何其他可供共享的选项,请帮助我。

4

1 回答 1

1

借助手机中安装的 facebook 应用程序,您无需使用 Facebook SDK 即可轻松做到这一点。只需按照这些简单的步骤

所以首先,你必须像这样以位图的形式截取你的应用程序

View v1 = yourScreenShotView.getRootView();  
v1.setDrawingCacheEnabled(true);
Bitmap bitmap= v1.getDrawingCache();

从上面获取位图后,您必须像这样制作位图的uri

uri = getImageUri(context, bitmap); 

这是你的 getImageUriFunction()

public static Uri getImageUri(Context inContext, Bitmap inImage) {
    ByteArrayOutputStream bytes = new ByteArrayOutputStream();
    inImage.compress(Bitmap.CompressFormat.JPEG, 100, bytes);
    String path = Images.Media.insertImage(inContext.getContentResolver(),
            inImage, "", "");
    return Uri.parse(path);
}

获得 uri 后,您必须使用此功能在 fb 上分享

share_screen(uri,"facebook");

这是那个功能

 public void share_screen(Uri pngUri, final String sharingapp) {

    Intent shareIntent = new Intent(android.content.Intent.ACTION_SEND);
    shareIntent.setType("image/png");
    shareIntent
            .putExtra(android.content.Intent.EXTRA_TEXT,
                    "your sharing text");
    shareIntent.putExtra(android.content.Intent.EXTRA_STREAM, pngUri); // Share
                                                                        // the
                                                                        // image
                                                                        // on
                                                                        // Facebook
    PackageManager pm = getApplicationContext().getPackageManager();
    List<ResolveInfo> activityList = pm.queryIntentActivities(shareIntent,
            0);
    for (final ResolveInfo app : activityList) {
        if ((app.activityInfo.name).contains(sharingapp)) {
            c++;
            final ActivityInfo activity = app.activityInfo;
            final ComponentName name = new ComponentName(
                    activity.applicationInfo.packageName, activity.name);
            shareIntent.addCategory(Intent.CATEGORY_LAUNCHER);
            shareIntent.setComponent(name);
            startActivity(shareIntent);
            break;
        }

    }
    if (c == 1) 
        c = 0;
     else {
                AlertDialog.Builder alertDialog = new AlertDialog.Builder(
                        context);
                alertDialog.setTitle("Alert");
                alertDialog.setMessage("You don't have " + sharingapp
                        + " installed.");
                alertDialog.setPositiveButton("OK",
                        new DialogInterface.OnClickListener() {
                            public void onClick(DialogInterface dialog,
                                    int which) {
                                dialog.dismiss();

                            }
                        });
                alertDialog.show();
            }

    }
}

我只是从我的一个项目中复制它,所以希望你能理解..!!

于 2015-01-01T05:58:31.323 回答