Dropbox应用如何访问我的app-cache? (机器人)

时间:2014-04-24 08:03:59

标签: java android android-intent dropbox

我正试图实施一个"分享图像"我的Android应用中的按钮。由于图像可能对用户是私有的,我不希望它公开保存在设备上,因此我选择使用缓存。

在我发现只有所有者应用程序可以访问缓存目录之前,我注意到将图像共享到Dropbox工作得很好(而其他应用程序则抛出异常)。 如果该文件位于我的应用缓存中,Dropbox如何访问该文件?

我的共享位图方法(剥离了异常处理):

    final File outputFile = new File(getCacheDir(), filename);                                            

    // Save file
    FileOutputStream out = new FileOutputStream(outputFile);
    bitmap.compress(Bitmap.CompressFormat.PNG, 100, out);

    // Get path of file
    Uri bmpUri = Uri.parse(outputFile.getAbsolutePath());

    // Share image
    final Intent intent = new Intent(android.content.Intent.ACTION_SEND);
    intent.setData(bmpUri);
    intent.putExtra(Intent.EXTRA_STREAM, bmpUri);
    intent.setType("image/*");

    startActivity(Intent.createChooser(intent,"Share Image"));

1 个答案:

答案 0 :(得分:1)

我认为这是因为Dropbox app具有以下特定权限:

System tools
test access to protected storage

我还发现此许可似乎是WRITE_EXTERNAL_STORAGE权限的孩子。