因此,我尝试从服务器下载apk文件,但我的应用始终崩溃。 我不知道为什么我尝试使用一个可运行的独立线程,现在使用一个ThreadHandler。
DownloadActivity.java:
HandlerThread handlerThread=new HandlerThread("test");
handlerThread.setPriority(1);
handlerThread.start();
Looper looper=handlerThread.getLooper();
Handler handler=new Handler(looper);
handler.post(new Runnable() {
@Override
public void run() {
try {
String url="theurl";
URL u = new URL(url);
URLConnection conn = u.openConnection();
conn.getContentType();
conn.addRequestProperty("version",version);
conn.connect();
int contentLength = conn.getContentLength();
DataInputStream stream = new DataInputStream(u.openStream());
byte[] buffer = new byte[contentLength];
stream.readFully(buffer);
stream.close();
File file=new File(Environment.DIRECTORY_DOWNLOADS,"debug.apk");
DataOutputStream fos = new DataOutputStream(new FileOutputStream(file));
fos.write(buffer);
fos.flush();
fos.close();
} catch(IOException e) {
// 404
}
}
这是怎么回事? 顺便说一句,我确实在AndroidManifest.xml中添加了Internet权限
日志:
2020-09-26 09:19:00.373 24449-24449 / com.testapp.test V /字体:CurFontPath:/system/fonts/Roboto-Regular.ttf
2020-09-26 09:19:00.373 24449-24449 / com.testapp.test D / Typeface:切换到android orgin ttf
2020-09-26 09:19:00.394 24449-24449 / com.testapp.test V /字体:CurFontPath:/system/fonts/Roboto-Regular.ttf
2020-09-26 09:19:00.394 24449-24449 / com.testapp.test D / Typeface:切换到android orgin ttf
2020-09-26 09:19:00.414 24449-24607 / com.testapp.test D / NetworkSecurityConfig:未指定网络安全配置,使用平台默认值
2020-09-26 09:19:00.429 24449-24607 / com.testapp.test I / DpmTcmClient:RegisterTcmMonitor from:com.android.okhttp.TcmIdleTimerMonitor
2020-09-26 09:19:00.434 24449-24607 / com.testapp.test I / DpmTcmClient:RegisterTcmMonitor from:com.android.okhttp.TcmIdleTimerMonitor
2020-09-26 09:19:00.436 24449-24488 / com.testapp.test W / Adreno-EGL: