为什么我的手机安装APK文件时显示一直在安装,没有结束的时候,就是那个进度条一直在滚动,也不结束。

为什么我的手机安装APK文件时显示一直在安装,没有结束的时候,就是那个进度条一直在滚动,也不结束。,第1张

首先要看看这个进度条会持续多久 还是一直都是,因为这个原因很多;第一,如果游戏过大的话,比如你安装个几M的游戏和几十M的游戏时间是不同的;第二,如果手机在运行很多程序的时候再安装会很卡导致死机都有可能,我用机锋同时更新十几个软件的时候 有些小软件先下载完成然后我就点安装,结果手机运行压力过大很容易造成安装时间过长或死机

实现流程

Step One d出进度条对话框

Step Two 执行线程,在线程中实现数据的异步加载

Step Three 在线程数据加载完成后,调用Handler并集合数据,更新界面

Java代码

//添加异步 *** 作

m_Dialog=ProgressDialog.show(m_context, "请等待...", "正在下载安装文件,请稍后...",true)

//mRegsiterHandler.sleep(100)

new Thread(new Runnable(){

@Override

public void run() {

//加载数据

result=0

try{

//下载文件

String url="http://00.00.00.00:80/nationaltest.html" 

HttpClient client = new DefaultHttpClient()

HttpGet get = new HttpGet(url)

HttpResponse response

response = client.execute(get)

HttpEntity entity = response.getEntity()

long length = entity.getContentLength()

InputStream is = entity.getContent()

FileOutputStream fileOutputStream = null

if (is != null) {

File file = new File(Environment.getExternalStorageDirectory(), "nationaltest.apk")

fileOutputStream = new FileOutputStream(file)

byte[] buf = new byte[1024]

int ch = -1

while ((ch = is.read(buf)) != -1) {

fileOutputStream.write(buf, 0, ch)

}

}

fileOutputStream.flush()

if (fileOutputStream != null) {

fileOutputStream.close()

}

result=2

}

catch(Exception ex){

result=-1

}

//更新界面

// Update the progress bar

mHandler.post(new Runnable() {

public void run() {

if(result==2)

install()

else

Toast.makeText(m_context, "下载文件失败,请检查网络连接", Toast.LENGTH_SHORT).show()

}

})

m_Dialog.dismiss()

}}).start()

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11840649.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存