未经许可生成图像并有意分享
generate image and share with intent without permission
我有一个功能允许用户在社交媒体和其他消息传递应用程序上分享文本。
我想允许用户将此文本作为图像发送。我找到了如何从文本生成图像,但它总是需要权限,而且我不知道是否有一种方法可以在不需要任何权限的情况下工作。这有可能吗?
当前函数:
Intent sharingIntent = new Intent(android.content.Intent.ACTION_SEND);
sharingIntent.setType("text/plain");
sharingIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, getTitle());
sharingIntent.putExtra(android.content.Intent.EXTRA_TEXT, getText());
startActivity(Intent.createChooser(sharingIntent, "share using"));
我四处搜索并试图找到是否可以生成它来缓存和/或不需要权限的文件夹,但还没有找到任何可行的东西。
感谢任何对此的见解,感谢您花时间提供帮助!
在使用 CommonsWare 的建议进行一些研究后,我设法使用以下代码使其工作:
TextPaint tPaint = new TextPaint();
tPaint.setTextSize(30);
tPaint.setColor(Color.BLACK);
tPaint.setStyle(Paint.Style.FILL);
StaticLayout layoutBody = new StaticLayout(textToShare, tPaint, 600, Layout.Alignment.ALIGN_CENTER, 1, 1, false);
Bitmap image = Bitmap.createBitmap(layoutBody.getWidth(), layoutBody.getHeight(), Bitmap.Config.ARGB_8888);
Canvas cs = new Canvas(image);
layoutBody.draw(cs);
cs.drawBitmap(dest, 0, 0, null);
接着是我发现的 将它张贴在这里以防它对任何人有帮助
我有一个功能允许用户在社交媒体和其他消息传递应用程序上分享文本。 我想允许用户将此文本作为图像发送。我找到了如何从文本生成图像,但它总是需要权限,而且我不知道是否有一种方法可以在不需要任何权限的情况下工作。这有可能吗?
当前函数:
Intent sharingIntent = new Intent(android.content.Intent.ACTION_SEND);
sharingIntent.setType("text/plain");
sharingIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, getTitle());
sharingIntent.putExtra(android.content.Intent.EXTRA_TEXT, getText());
startActivity(Intent.createChooser(sharingIntent, "share using"));
我四处搜索并试图找到是否可以生成它来缓存和/或不需要权限的文件夹,但还没有找到任何可行的东西。
感谢任何对此的见解,感谢您花时间提供帮助!
在使用 CommonsWare 的建议进行一些研究后,我设法使用以下代码使其工作:
TextPaint tPaint = new TextPaint();
tPaint.setTextSize(30);
tPaint.setColor(Color.BLACK);
tPaint.setStyle(Paint.Style.FILL);
StaticLayout layoutBody = new StaticLayout(textToShare, tPaint, 600, Layout.Alignment.ALIGN_CENTER, 1, 1, false);
Bitmap image = Bitmap.createBitmap(layoutBody.getWidth(), layoutBody.getHeight(), Bitmap.Config.ARGB_8888);
Canvas cs = new Canvas(image);
layoutBody.draw(cs);
cs.drawBitmap(dest, 0, 0, null);
接着是我发现的