下载apk
来源:互联网 发布:手办淘宝 编辑:程序博客网 时间:2024/04/30 01:27
布局
<Button
android:id="@+id/bt_download"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/bt_upload"
android:text="下载"/>
代码 先写工具类,判断网络
public class NetWorkUtils {
//判断网络连接状态
public static boolean isNetWorkIsAvailable(Context context) {
//网络连接管理器
ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
//获取网络信息
NetworkInfo info = connectivityManager.getActiveNetworkInfo();
if (info != null) {
return true;
}
/* if (info.isConnected()) {
return true;
}*/
return false;
}
//判断是否是wifi
public static boolean isWifi(Context context) {
//网络连接管理器
ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
//获取网络信息
NetworkInfo info = connectivityManager.getActiveNetworkInfo();
if (info != null && info.getType() == connectivityManager.TYPE_WIFI) {
return true;
}
return false;
}
//判断是否是手机流量
public static boolean isMobile(Context context) {
//网络连接管理器
ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
//获取网络信息
NetworkInfo info = connectivityManager.getActiveNetworkInfo();
if (info != null && info.getType() == connectivityManager.TYPE_MOBILE) {
return true;
}
return false;
}
}
MainActivity 方法
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//找控件
Button bt_upload = (Button) findViewById(R.id.bt_upload);
Button bt_download = (Button) findViewById(R.id.bt_download);
bt_upload.setOnClickListener(this);
bt_download.setOnClickListener(this);
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.bt_upload:
uploadPic();
break;
case R.id.bt_download:
boolean workIsAvailable = NetWorkUtils.isNetWorkIsAvailable(MainActivity.this);
if (!workIsAvailable) {
Toast.makeText(MainActivity.this, "网络未连接,请设置网络", Toast.LENGTH_SHORT).show();
Intent intent = new Intent(android.provider.Settings.ACTION_WIRELESS_SETTINGS);
startActivity(intent);
} else {
//连接成功下载
Toast.makeText(MainActivity.this, "网络连接成功", Toast.LENGTH_SHORT).show();
download();
}
break;
}
}
//下载
private void download() {
final String[] items = {"wifi", "手机流量"};
new AlertDialog.Builder(this).setTitle("网络选择").setIcon(R.mipmap.ic_launcher).setSingleChoiceItems(items, -1, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
switch (which) {
case 0:
//wifi下 下载apk
downloadApk();
break;
case 1:
//手机流量下提醒用户
boolean mobile = NetWorkUtils.isMobile(MainActivity.this);
if (mobile) {
Toast.makeText(MainActivity.this, "现在未使用wifi,将耗用手机流量", Toast.LENGTH_SHORT).show();
Intent wifiSettingsIntent = new Intent("android.settings.WIFI_SETTINGS");
startActivity(wifiSettingsIntent);
}
break;
}
dialog.dismiss();
}
}).show();
}
//下载apk
private void downloadApk() {
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("版本更新");
builder.setMessage("现在检测到新版本,是否更新?");
builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
updateApk();
}
});
builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
});
builder.create();
builder.show();
}
//版本更新
private void updateApk() {
String url = "http://169.254.249.24:8080/08web/app.apk";
RequestParams params = new RequestParams(url);
//保存到sdcard
params.setSaveFilePath(Environment.getExternalStorageDirectory() + "/bawei/");
//自动文件命令
params.setAutoRename(true);
//下载
x.http().post(params, new Callback.ProgressCallback<File>() {
@Override
public void onWaiting() {
}
@Override
public void onStarted() {
}
@Override
public void onLoading(long total, long current, boolean isDownloading) {
}
@Override
public void onSuccess(File result) {
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(Uri.fromFile(result), "application/vnd.android.package-archive");
startActivity(intent);
}
@Override
public void onError(Throwable ex, boolean isOnCallback) {
}
@Override
public void onCancelled(CancelledException cex) {
}
@Override
public void onFinished() {
}
});
}
- 下载apk
- apk 下载
- 下载apk
- Android 下载APK 安装APK 打开APK
- Android 下载APK 安装APK 打开APK
- Android 下载APK 安装APK 打开APK
- Android 下载APK 安装APK 打开APK
- apk下载或者多线程下载
- android apk文件下载
- Android 下载安装APK
- 3、下载更新APK
- Android 下载安装APK
- z_devicetest apk 下载路径
- webview demo apk 下载
- 网络上下载apk
- android下载安装APK
- 下载安装APK
- android下载安装APK
- 归并排序
- Unity Android平台下插件/SDK开发通用流程
- redis的setbit,getbit,bitcount的使用详解
- Win10配置Java环境变量的配置
- ULua热更新
- 下载apk
- 《小强软件测试疯狂讲义-性能及自动化》一书正式发布
- CentOS 6.5安装SVN 客户端TortoiseSVN
- XML的解析
- 查看JDK以及框架源码
- 监听进程并自动重启(两种方法)
- Min Stack问题及解法
- Web前端应该从哪些方面来优化网站?
- iOS 架构模式--解密 MVC,MVP,MVVM以及VIPER架构