外部打开android应用程序,使用外部Android应用程序安全地打开文件,而...

我正在做一个安全的应用程序,用户可以在其中浏览某些文件,并使用手机上显示的应用程序打开它们.所以就目前而言,我的应用程序确实很安全,文件已经很好地加密,但是我有一个重大的中断.确实,我正在使用我的应用程序打开不同类型(pdf,doc,txt,jpg,…)的用户安全文件,因此我正在使用用户手机上的外部应用程序打开它们.但是我的问题在这里,因为要让另一个应用程序打开这些文件,我需要为要使用的应用程序提供一个Android存储位置.

这是我现在正在使用的代码:

Intent intent = new Intent();

intent.setAction(android.content.Intent.ACTION_VIEW);

File fileToOpen = new File(activity.getExternalCacheDir().getAbsolutePath() +

"/" + fileName);

MimeTypeMap mime = MimeTypeMap.getSingleton();

String extension = fileToOpen.getName().substring(

fileToOpen.getName().lastIndexOf(".") + 1);

String type = mime.getMimeTypeFromExtension(extension);

intent.setAction(Intent.ACTION_VIEW);

intent.setDataAndType(Uri.fromFile(fileToOpen), type);

Manager.getActivity().startActivityForResult(intent,

ExplorerActivity.FILE_CLOSED_SUCCESSFULLY);

因此,正如您在我的代码中所看到的,我需要将我的真实文件存储到缓存目录中以将其打开,因此,如果小偷可以访问用户电话,它可以打开存在于此目录中的真实文件,因此我的应用程序是不再安全了.

当然,我将在用户关闭该文件并将其加密后立即删除该普通文件,但是删除并不意味着该文件已从手机中完全删除.在删除之前,我用一些空字节重写,但这不足以确保此文件的安全.

因此,现在,我要从您那里得到的是实现我想要做的一个主意:打开文件而不将其存储到Android硬盘中.

这是我的一些线索:

>用我自己的应用程序打开文件(但是要实现很多,因为文件类型太多,我真的不喜欢开发已经存在的文件)

>找到一个解决方案来打开文件而不将其存储在我的应用程序外部(我的意思是直接使用该文件的字节数组打开文件)

>将文件存储到手机RAM中(我不知道是否可能)

因此,这不是一个详尽无遗的清单,任何其他建议将不胜感激.并且,如果您可以提供有关我提出的一种解决方案的帮助,请不要犹豫.不要犹豫,告诉我我的想法之一是完全不可能的还是错误的.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值