在LIbgdx游戏中使用Android Intent游戏分数的屏幕截图中的错误

我想在社交应用上发布我的游戏的屏幕截图。 我用Libgdx框架开发了这个游戏。 我在Core类中创建了一个接口。 这是它的意图共享特定的代码。

public interface ActionResolver { public void shareit(); } 

然后在我的Androidlauncher类中实现它

 public class AndroidLauncher extends AndroidApplication implements ActionResolver{ ....... @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); gameView = initializeForView(new MainGame(this), new AndroidApplicationConfiguration());// View } @Override public void shareScreen() { String message = "Text I want to share."; Intent share = new Intent(Intent.ACTION_SEND); share.setType("text/plain"); share.putExtra(Intent.EXTRA_TEXT, message); startActivity(Intent.createChooser(share, "Title of the dialog the system will open")); } public void createIntent(View v){ { // View view =gameView.getRootView(); Bitmap icon = getBitmapFromView(v.getRootView()); Intent share = new Intent(Intent.ACTION_SEND); share.setType("image/jpeg"); ContentValues values = new ContentValues(); values.put(MediaStore.Images.Media.TITLE, "title"); values.put(MediaStore.Images.Media.MIME_TYPE, "image/jpeg"); Uri uri = getContentResolver().insert( MediaStore.Images.Media.EXTERNAL_CONTENT_URI, values); OutputStream outstream; try { outstream = getContentResolver().openOutputStream(uri); icon.compress(Bitmap.CompressFormat.JPEG, 100, outstream); outstream.close(); } catch (Exception e) { System.err.println(e.toString()); } share.putExtra(Intent.EXTRA_STREAM, uri); startActivity(Intent.createChooser(share, "Share Image")); } } public void createIntent(View v){ Bitmap icon = getBitmapFromView(v.getRootView()); Intent share = new Intent(Intent.ACTION_SEND); share.setType("image/jpeg"); ContentValues values = new ContentValues(); values.put(MediaStore.Images.Media.TITLE, "title"); values.put(MediaStore.Images.Media.MIME_TYPE, "image/jpeg"); Uri uri = getContentResolver().insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, values); } public static Bitmap getBitmapFromView(View view) { Bitmap returnedBitmap = Bitmap.createBitmap(view.getWidth(), view.getHeight(), Bitmap.Config.ARGB_8888); Canvas canvas = new Canvas(returnedBitmap); Drawable bgDrawable = view.getBackground(); if (bgDrawable != null) bgDrawable.draw(canvas); else canvas.drawColor(Color.WHITE); view.draw(canvas); return returnedBitmap; } 

我也在MainGame类中初始化我的接口

 public MainGame(ActionResolver actionResolver) { super(); this.actionResolver = actionResolver; 

有一件事我迷惑我应该通过什么样的观点来启动这个意图? 因为它的libgdx框架。 其次在Android方面显然Canvas,Bitmap都是来自Android。

与这整个代码我能够开始我的意图,但是当我分享屏幕的屏幕只是一个黑屏。 但是那个屏幕上有一个广告出现在我已经通过admob使用的底部。

我在这里search了很多,find了分享黑屏的相关线索,而不是实际的游戏画面。 但我不明白所有,因为一些要求使用一些不同的图书馆。 我不使用任何外部库,也不使用Facebook的Facebook的Facebook。 我只是想简单的Android意图共享屏幕。 请帮助我。