Я хочу поделиться снимком экрана моего приложения с некоторыми деталями, такими как название, описание на стене facebook. Пожалуйста, кто-нибудь может мне помочь, как я могу это сделать? Я хочу использовать facebookSDK. Если какие-либо другие варианты доступны для обмена, пожалуйста, помогите мне.Растровое изображение совместного доступа на стене Facebook
0
A
ответ
1
Вы можете просто сделать это без использования Facebook SDK с помощью приложения facebook, установленного на вашем телефоне. Просто следуйте этим простым шагам
Итак, прежде всего, вы должны принять скриншот вашего приложения в виде растрового изображения, как этот
View v1 = yourScreenShotView.getRootView();
v1.setDrawingCacheEnabled(true);
Bitmap bitmap= v1.getDrawingCache();
После того, как вы получите растровое изображение сверху, то вы должны сделать УИР растровый как этот
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);
}
После вы получите ваш Ури, вы должны разделить, что на ФБ с этой функцией
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();
}
}
}
Я просто скопировать его из одного моего проекта, так надеюсь, что вы Понимаю..!!
Я надеюсь, что этот фрагмент кода из вашего последнего кода приложения – yAs91
lol .. это был из моего первого проекта. это не работает? –
Этот код работает, но текст не используется. Это та же проблема, что и в моем коде. – yAs91