我读到某个地方,#include<bits/stdc++.h>
#define LL long long
using namespace std;
int T;
set<LL> pre;
LL n, M, a[100010], ans, sum;
int main() {
cin >> T;
while(T--){
ans = sum = 0;
pre.clear();
cin >> n >> M;
for(int i=0; i<n;i++) cin >> a[i];
for(int i=0; i<n; i++){
(sum += a[i]) %= M;
ans = max(ans, sum);
ans = max(ans, (sum - *(pre.upper_bound(sum))+M)%M);
pre.insert(sum);
}
cout << ans << endl;
}
return 0;
}
在android中无法将文件保存在Download Manager
中,因为internal storage
不在我的应用程序进程中运行,而是在由系统控制的另一个进程中运行。 Download Manager
个位置受版权保护,您提供的任何位置只能由我的应用程序访问。
但是当我使用此代码时,它将我的文件保存在内部存储中:
Internal storage
我很困惑,任何人都可以帮助我吗?
答案 0 :(得分:1)
由他的名字指示的DownloadManager,是来自android的外部经理。您无法使用下载管理器将文件保存在内部存储中,因为此目录仅适用于您的应用程序。您需要Content Provider将文件保存在临时目录中,然后将其保存在内部存储中。
希望现在还不晚:)
答案 1 :(得分:1)
内部存储意味着应用程序的内部存储不设备的内部存储。应用程序的内部存储只能由应用程序本身访问。这就是下载管理器无法将文件直接保存到内部存储的原因。
有一种解决方法。您可以像往常一样将文件下载到外部存储器,然后将其复制到广播接收器中应用程序的内部目录。
希望有所帮助