相关疑难解决方法(0)

在base64编码时删除尾随"="

我注意到每当我对base64进行编码时,最后会附加一个"=".我可以删除这个字符然后通过添加它来可靠地解码它,或者这是危险的吗?换句话说,是否总是附加"=" ,或仅在某些情况下?

我希望我的编码字符串尽可能短,这就是为什么我想知道我是否总能删除"="字符并在解码之前将其添加回来.

base64

43
推荐指数
6
解决办法
6万
查看次数

如何将大文件或多个文件发送到其他应用程序,并知道何时删除它们?

背景

我有一个App-Manager应用程序,允许将APK文件发送到其他应用程序.

直到Android 4.4(包括),我必须为此任务执行的操作是将路径发送到原始APK文件(所有这些都在"/ data/app/..."下,即使没有root也可以访问).

这是发送文件的代码(此处提供的文档):

intent=new Intent(Intent.ACTION_SEND_MULTIPLE);
intent.setType("*/*");
final ArrayList<Uri> uris=new ArrayList<>();
for(...)
   uris.add(Uri.fromFile(new File(...)));
intent.putParcelableArrayListExtra(Intent.EXTRA_STREAM,uris);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK|Intent.FLAG_ACTIVITY_NO_HISTORY|Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET|Intent.FLAG_ACTIVITY_MULTIPLE_TASK);
Run Code Online (Sandbox Code Playgroud)

问题

我做了什么工作,因为所有应用程序的APK文件都有一个唯一的名称(这是他们的包名称).

自从Lollipop(5.0)以来,所有应用程序的APK文件都被命名为"base.APK",这使得其他应用程序无法理解附加它们.

这意味着我有一些选项来发送APK文件.这就是我在想的:

  1. 将它们全部复制到一个文件夹,将它们全部重命名为唯一的名称,然后发送它们.

  2. 将它们全部压缩到一个文件然后发送它.压缩级别可能很小,因为APK文件已经被压缩了.

问题是我必须尽快发送文件,如果我真的必须拥有这些临时文件(除非有其他解决方案),也要尽快处理它们.

事实是,当第三方应用程序处理完临时文件时,我没有得到通知,我也认为选择多个文件需要花费一些时间来准备,无论我选择什么.

另一个问题是某些应用程序(如Gmail)实际上禁止发送APK文件.

这个问题

有没有我想到的解决方案的替代方案?有没有办法解决这个问题与我以前的所有优势(快速和没有垃圾文件留下)?

也许某种方式来监控文件?或创建一个流而不是一个真正的文件?

将临时文件放在缓存文件夹中会有什么帮助吗?

android file android-intent apk

13
推荐指数
1
解决办法
1829
查看次数

标签 统计

android ×1

android-intent ×1

apk ×1

base64 ×1

file ×1