是否可以在不添加任何权限的情况下共享自己的应用截图?
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
这是我的其他应用程序代码,可以复制到缓存和共享
public void sendFile(File paramFile) {
String fileExtension = ".apk";
File temporaryFile;
try {
temporaryFile = File.createTempFile(paramFile.getName(), fileExtension, getApplicationContext().getExternalCacheDir());
copy(paramFile, temporaryFile);
} catch (Exception e) {
temporaryFile = paramFile;
}
Intent localIntent = new Intent();
localIntent.setAction("android.intent.action.SEND");
localIntent.putExtra("android.intent.extra.STREAM", Uri.fromFile(temporaryFile));
localIntent.setType("application/*");
localIntent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
startActivity(Intent.createChooser(localIntent, ""));
}
答案 0 :(得分:0)
将您的图片保存到内部存储空间(例如getCacheDir()
),然后use FileProvider
将其保存到其他应用中。有关详情,请参阅the documentation。
答案 1 :(得分:0)
您正在使用getExternalCacheDir()
它绝对是主要的youraplication特定目录的路径 外部存储设备,应用程序可以放置缓存 它拥有的文件。这些文件是应用程序的内部文件,而不是 通常作为媒体对用户可见。
这些文件没有强制执行安全措施。 无需添加读取或写入返回路径的权限。它始终可以访问您的应用程序。这仅适用于为包裹名称生成的路径。
android.Manifest.permission.WRITE_EXTERNAL_STORAGE
android.Manifest.permission.READ_EXTERNAL_STORAGE