如下图:
查看工具类:下载apk的方法缺少xutils库,可以自己添加xutils库
package com.mchsdk.paysdk.utils;
import android.Manifest;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.content.pm.ApplicationInfo;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.graphics.Point;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.net.Uri;
import android.net.wifi.WifiInfo;
import android.net.wifi.WifiManager;
import android.os.Build;
import android.os.Environment;
import android.provider.Settings;
import android.support.v4.app.ActivityCompat;
import android.support.v4.content.FileProvider;
import android.telephony.TelephonyManager;
import android.util.DisplayMetrics;
import android.util.Log;
import android.view.Display;
import android.view.View;
import android.widget.TextView;
import android.widget.Toast;
import com.lidroid.xutils.HttpUtils;
import com.lidroid.xutils.exception.HttpException;
import com.lidroid.xutils.http.ResponseInfo;
import com.lidroid.xutils.http.callback.RequestCallBack;
import java.io.File;
import java.lang.reflect.Method;
import java.math.BigDecimal;
import java.net.Inet4Address;
import java.net.InetAddress;
import java.net.NetworkInterface;
import java.net.SocketException;
import java.util.Enumeration;
import java.util.Locale;
import java.util.UUID;
/**
* @author xiayiye5
* 2020年6月3日11:24:04
* Android 开发用到的工具类
*/
public class YhshUtils {
//静态内部内实现单例设计模式
private YhshUtils() {
}
public static YhshUtils getInstance() {
return YhshSingle.CREATE;
}
private static class YhshSingle {
private static final YhshUtils CREATE = new YhshUtils();
}
/**
* 判断是否安装某APP
*
* @param context 上下文
* @param packageName apk包名
* @return 返回结果
*/
public boolean isInstallApk(Context context, String packageName) {
if (TextUtils.isEmpty(packageName)) {
return false;
}
try {
ApplicationInfo info = context.getPackageManager().getApplicationInfo(packageName, PackageManager.GET_UNINSTALLED_PACKAGES);
return info != null;
} catch (PackageManager.NameNotFoundException e) {
return false;
}
}
/**
* 下载apk的方法
*
* @param activity 上下文
* @param downloadTextView 显示下载的TextView
*/
private void downloadApk(final Activity activity, final View downloadTextView) {
//将按钮设置成正在下载中
((TextView) downloadTextView).setText("正在下载中……");
HttpUtils httpUtils = new HttpUtils();
// 判断sd卡是否挂载
if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) {
final String filePath = Environment.getExternalStorageDir