Browse Source

修复蓝牙打印相关功能, 修复软件更新相关功能, 优化高版本安卓相关功能

songw 9 months ago
parent
commit
1efaa94ca2

+ 22 - 3
app/src/main/AndroidManifest.xml

@@ -8,7 +8,7 @@
     <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
     <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
     <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
-    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
+
     <uses-permission android:name="android.permission.VIBRATE" />
     <uses-permission android:name="android.permission.CAMERA" />
 
@@ -17,11 +17,30 @@
 
     <uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />
 
+    <!--8.0及以上系统需要添加此权限才能弹出APP安装界面-->
+    <uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />
+
     <uses-permission android:name="android.permission.BLUETOOTH_CONNECT " />
 
+    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
+    <uses-permission android:name="android.permission.READ_PHONE_STATE"/>
+
+    <uses-permission android:name="android.permission.BLUETOOTH" />
+    <uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
+
+    <uses-permission android:name="android.permission.READ_CLIPBOARD_IN_BACKGROUND"/>
+
+    <!--android12需要的蓝牙权限问题-->
+    <uses-permission android:name="android.permission.BLUETOOTH_SCAN" />
+    <uses-permission android:name="android.permission.BLUETOOTH_CONNECT" />
+    <uses-permission android:name="android.permission.BLUETOOTH_ADVERTISE" />
+    <uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
+
 
     <application
         android:name=".application.PdaApplication"
+        android:networkSecurityConfig="@xml/network_security_config"
+        android:usesCleartextTraffic="true"
         android:allowBackup="true"
         android:icon="@mipmap/icon"
         android:label="@string/my_app_name"
@@ -49,7 +68,7 @@
             android:icon="@mipmap/icon"
             android:label="@string/title_activity_menu"
             android:screenOrientation="portrait"
-            android:windowSoftInputMode="adjustPan|stateHidden"></activity>
+            android:windowSoftInputMode="adjustPan|stateHidden"/>
         <activity
             android:name=".activity.IndexActivity"
             android:label="@string/title_activity_menu"
@@ -67,7 +86,7 @@
 
         <provider
             android:name="androidx.core.content.FileProvider"
-            android:authorities="com.uas.pda_smart_com.fileprovider"
+            android:authorities="erp.erp.general_wms.fileprovider"
             android:exported="false"
             android:grantUriPermissions="true"
             tools:replace="android:authorities"

+ 17 - 0
app/src/main/java/uas/erp/general_wms/activity/MainActivity.java

@@ -96,6 +96,23 @@ public class MainActivity extends BaseActivity implements BackHandlerInterface {
             }
         }, Manifest.permission.ACCESS_COARSE_LOCATION, Manifest.permission.ACCESS_FINE_LOCATION, Manifest.permission.CAMERA ,
                 Manifest.permission.READ_EXTERNAL_STORAGE, Manifest.permission.WRITE_EXTERNAL_STORAGE );
+
+        //判断是否大于10.0的安卓系统
+        if (Build.VERSION.SDK_INT > Build.VERSION_CODES.Q) {
+            permissionUtils.setPermission(this,"定位","选择位置",new PermissionUtils.AfterPermissionTwo() {
+                        @Override
+                        public void doNext() {
+                            //同意权限继续走
+                        }
+                        @Override
+                        public void toOther() {
+                            //不同意走另一条路
+                            //finish();
+                        }
+                    }, Manifest.permission.BLUETOOTH_SCAN, Manifest.permission.BLUETOOTH_CONNECT,
+                    Manifest.permission.BLUETOOTH_ADVERTISE, Manifest.permission.FOREGROUND_SERVICE
+            );
+        }
     }
 
     private void initPermissions() {

+ 2 - 2
app/src/main/java/uas/erp/general_wms/fragment/BarcodeGenerationFragment.java

@@ -115,7 +115,7 @@ public class BarcodeGenerationFragment extends BaseFragment implements View.OnCl
                         intent.setComponent(comp);
                         intent.setAction("android.intent.action.VIEW");
                         intent.setType("application/pdf");
-                        intent.setData(Uri.fromFile(new File(Constants.CONSTANT.PRINT_FILE_PATH, Constants.CONSTANT.PRINT_FILE_NAME)));
+                        intent.setData(Uri.fromFile(new File(getActivity().getFilesDir().getAbsolutePath() + "/UASPDA/printFile", Constants.CONSTANT.PRINT_FILE_NAME)));
                         startActivity(intent);
                     } catch (Exception e) {
                         Toast.makeText(mActivity, "打印失败", Toast.LENGTH_LONG).show();
@@ -419,7 +419,7 @@ public class BarcodeGenerationFragment extends BaseFragment implements View.OnCl
                                     mPrintUrl = resultObject.optString("data");
                                     getBarcodeGenerationList(false);
                                     if (print) {
-                                        FileUtils.printBarcode(mPrintUrl, mHandler);
+                                        FileUtils.printBarcode(getActivity(),mPrintUrl, mHandler);
                                     }
                                 }
                             } catch (JSONException e) {

+ 2 - 2
app/src/main/java/uas/erp/general_wms/fragment/BarcodeSupplePrintFragment.java

@@ -110,7 +110,7 @@ public class BarcodeSupplePrintFragment extends BaseFragment {
                         intent.setComponent(comp);
                         intent.setAction("android.intent.action.VIEW");
                         intent.setType("application/pdf");
-                        intent.setData(Uri.fromFile(new File(Constants.CONSTANT.PRINT_FILE_PATH, Constants.CONSTANT.PRINT_FILE_NAME)));
+                        intent.setData(Uri.fromFile(new File(getActivity().getFilesDir().getAbsolutePath() + "/UASPDA/printFile", Constants.CONSTANT.PRINT_FILE_NAME)));
                         startActivity(intent);
                     } catch (Exception e) {
                         Toast.makeText(mActivity, "打印失败", Toast.LENGTH_LONG).show();
@@ -346,7 +346,7 @@ public class BarcodeSupplePrintFragment extends BaseFragment {
                             JSONObject resultObject = new JSONObject(s);
                             if (resultObject.optBoolean("success")) {
                                 mPrintUrl = resultObject.optString("data");
-                                FileUtils.printBarcode(mPrintUrl, mHandler);
+                                FileUtils.printBarcode(getActivity(),mPrintUrl, mHandler);
                             }
                         } catch (JSONException e) {
                             e.printStackTrace();

+ 46 - 44
app/src/main/java/uas/erp/general_wms/fragment/BlueToothPrintFragment.java

@@ -194,50 +194,52 @@ public class BlueToothPrintFragment extends BaseFragment {
 
     @Override
     protected void initDatas() {
-        if (Build.VERSION.SDK_INT >= 6.0) {
-            try {
-                PermissionUtils permissionUtils = new PermissionUtils();
-                permissionUtils.setPermission(getActivity(),"定位","选择位置",new PermissionUtils.AfterPermissionTwo() {
-                    @Override
-                    public void doNext() {
-                        //同意权限继续走
-                    }
-                    @Override
-                    public void toOther() {
-                        //不同意走另一条路
-                        Toast.makeText(getActivity(),"权限被拒绝,可能导致APP部分功能无法使用",Toast.LENGTH_SHORT).show();
-                    }
-                }, Manifest.permission.ACCESS_COARSE_LOCATION, Manifest.permission.ACCESS_FINE_LOCATION,Manifest.permission.ACCESS_BACKGROUND_LOCATION);
-
-                permissionUtils.setPermission(getActivity(),"蓝牙","蓝牙打印服务",new PermissionUtils.AfterPermissionTwo() {
-                    @Override
-                    public void doNext() {
-                        //同意权限继续走
-                    }
-                    @Override
-                    public void toOther() {
-                        //不同意走另一条路
-                        Toast.makeText(getActivity(),"权限被拒绝,可能导致APP部分功能无法使用",Toast.LENGTH_SHORT).show();
-                    }
-                }, Manifest.permission.ACCESS_COARSE_LOCATION, Manifest.permission.BLUETOOTH_CONNECT,Manifest.permission.BLUETOOTH_SCAN);
-
-//                AndPermission.with(mActivity)
-//                        .runtime()
-//                        .permission(Permission.Group.LOCATION)
-//                        .onGranted(new Action<List<String>>() {
-//                            @Override
-//                            public void onAction(List<String> data) {
-//                                initHelper();
-//                            }
-//                        })
-//                        .start();
-            } catch (Exception e) {
-                e.printStackTrace();
-            }
-
-        } else {
-            initHelper();
-        }
+//        if (Build.VERSION.SDK_INT >= 6.0) {
+//            try {
+//                PermissionUtils permissionUtils = new PermissionUtils();
+//                permissionUtils.setPermission(getActivity(),"定位","选择位置",new PermissionUtils.AfterPermissionTwo() {
+//                    @Override
+//                    public void doNext() {
+//                        //同意权限继续走
+//                        initHelper();
+//                    }
+//                    @Override
+//                    public void toOther() {
+//                        //不同意走另一条路
+//                        Toast.makeText(getActivity(),"权限被拒绝,可能导致APP部分功能无法使用",Toast.LENGTH_SHORT).show();
+//                    }
+//                }, Manifest.permission.ACCESS_COARSE_LOCATION, Manifest.permission.ACCESS_FINE_LOCATION,Manifest.permission.ACCESS_BACKGROUND_LOCATION);
+//
+//                permissionUtils.setPermission(getActivity(),"蓝牙","蓝牙打印服务",new PermissionUtils.AfterPermissionTwo() {
+//                    @Override
+//                    public void doNext() {
+//                        //同意权限继续走
+//                    }
+//                    @Override
+//                    public void toOther() {
+//                        //不同意走另一条路
+//                        Toast.makeText(getActivity(),"权限被拒绝,可能导致APP部分功能无法使用",Toast.LENGTH_SHORT).show();
+//                    }
+//                }, Manifest.permission.ACCESS_COARSE_LOCATION, Manifest.permission.BLUETOOTH_CONNECT,Manifest.permission.BLUETOOTH_SCAN);
+//
+////                AndPermission.with(mActivity)
+////                        .runtime()
+////                        .permission(Permission.Group.LOCATION)
+////                        .onGranted(new Action<List<String>>() {
+////                            @Override
+////                            public void onAction(List<String> data) {
+////                                initHelper();
+////                            }
+////                        })
+////                        .start();
+//            } catch (Exception e) {
+//                e.printStackTrace();
+//            }
+//
+//        } else {
+//            initHelper();
+//        }
+        initHelper();
     }
 
     private void initHelper() {

+ 2 - 2
app/src/main/java/uas/erp/general_wms/fragment/IOCOutMakeMaterialOper.java

@@ -195,7 +195,7 @@ public class IOCOutMakeMaterialOper extends BaseFragment implements View.OnClick
                         intent.setComponent(comp);
                         intent.setAction("android.intent.action.VIEW");
                         intent.setType("application/pdf");
-                        intent.setData(Uri.fromFile(new File(Constants.CONSTANT.PRINT_FILE_PATH, Constants.CONSTANT.PRINT_FILE_NAME)));
+                        intent.setData(Uri.fromFile(new File(getActivity().getFilesDir().getAbsolutePath() + "/UASPDA/printFile", Constants.CONSTANT.PRINT_FILE_NAME)));
                         startActivity(intent);
                     } catch (Exception e) {
                         Toast.makeText(mActivity, "打印失败", Toast.LENGTH_LONG).show();
@@ -2491,7 +2491,7 @@ public class IOCOutMakeMaterialOper extends BaseFragment implements View.OnClick
                     JSONObject resultObject = new JSONObject(s);
                     if (resultObject.optBoolean("success")) {
                         mPrintUrl = resultObject.optString("data");
-                        FileUtils.printBarcode(mPrintUrl, mHandler);
+                        FileUtils.printBarcode(getActivity(),mPrintUrl, mHandler);
                     }
                 } catch (JSONException e) {
                     if (progressDialog.isShowing())

+ 2 - 2
app/src/main/java/uas/erp/general_wms/fragment/MSDSplitFragment.java

@@ -125,7 +125,7 @@ public class MSDSplitFragment extends BaseFragment implements View.OnClickListen
                         intent.setComponent(comp);
                         intent.setAction("android.intent.action.VIEW");
                         intent.setType("application/pdf");
-                        intent.setData(Uri.fromFile(new File(Constants.CONSTANT.PRINT_FILE_PATH, Constants.CONSTANT.PRINT_FILE_NAME)));
+                        intent.setData(Uri.fromFile(new File(getActivity().getFilesDir().getAbsolutePath() + "/UASPDA/printFile", Constants.CONSTANT.PRINT_FILE_NAME)));
                         startActivity(intent);
                     } catch (Exception e) {
                         Toast.makeText(mActivity, "打印失败", Toast.LENGTH_LONG).show();
@@ -625,7 +625,7 @@ public class MSDSplitFragment extends BaseFragment implements View.OnClickListen
                     JSONObject resultObject = new JSONObject(s);
                     if (resultObject.optBoolean("success")) {
                         mPrintUrl = resultObject.optString("data");
-                        FileUtils.printBarcode(mPrintUrl, mHandler);
+                        FileUtils.printBarcode(getActivity(),mPrintUrl, mHandler);
                     }
                 } catch (JSONException e) {
                     if (progressDialog.isShowing())

+ 58 - 5
app/src/main/java/uas/erp/general_wms/fragment/VersionUpgradeFragment.java

@@ -1,5 +1,7 @@
 package uas.erp.general_wms.fragment;
 
+import android.app.Activity;
+import android.content.Context;
 import android.content.Intent;
 import android.net.Uri;
 import android.os.Build;
@@ -10,6 +12,7 @@ import android.view.KeyEvent;
 import android.view.View;
 import android.widget.Button;
 import android.widget.TextView;
+import android.widget.Toast;
 
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
@@ -18,6 +21,7 @@ import com.android.volley.Request;
 import java.io.File;
 import java.io.IOException;
 
+import androidx.annotation.RequiresApi;
 import androidx.core.content.FileProvider;
 import uas.erp.general_wms.R;
 import uas.erp.general_wms.global.GloableParams;
@@ -34,7 +38,6 @@ import uas.erp.general_wms.util.download.ProgressResponseBody;
 import uas.erp.general_wms.view.business.CommonProgressPop;
 
 import static uas.erp.general_wms.util.Constants.CONSTANT.APK_FILE_NAME;
-import static uas.erp.general_wms.util.Constants.CONSTANT.APK_FILE_PATH;
 
 
 /**
@@ -76,13 +79,20 @@ public class VersionUpgradeFragment extends BaseFragment implements ProgressResp
                 mProgressPop.showPopupWindow();
 
                 breakPoints = 0L;
-                File directory = new File(APK_FILE_PATH);
+
+                //                File directory = new File(APK_FILE_PATH);
+                String filesDir = getActivity().getFilesDir().getAbsolutePath();
+                File directory = new File(filesDir + "/general_wms/apk");
                 if (!directory.exists() && !directory.isDirectory()) {
                     boolean mkdirs = directory.mkdirs();
                 } else {
-                    FileUtils.delAllFile(APK_FILE_PATH);
+                    //                    FileUtils.delAllFile(APK_FILE_PATH);
+                    FileUtils.delAllFile(directory + "/general_wms/apk");
                 }
-                file = new File(APK_FILE_PATH, APK_FILE_NAME);
+
+                //                file = new File(APK_FILE_PATH, APK_FILE_NAME);
+                file = new File(filesDir + "/general_wms/apk", APK_FILE_NAME);
+
                 try {
                     file.createNewFile();
                 } catch (IOException e) {
@@ -99,6 +109,47 @@ public class VersionUpgradeFragment extends BaseFragment implements ProgressResp
     protected void initDatas() {
         mOldVersionTv.setText(AndroidUtil.getVersionName(mActivity));
         getNewVersionMsg();
+
+        //从API 26开始需要申请安装权限
+        if (Build.VERSION.SDK_INT >= 26) {
+            if (!isHasInstallPermissionWithO(getActivity())) {
+                startInstallPermissionSettingActivity(getActivity());
+            }
+        }
+    }
+
+    /**
+     * 检测是否拥有安装未知应用权限canRequestPackageInstalls
+     */
+    @RequiresApi(api = Build.VERSION_CODES.O)
+    private boolean isHasInstallPermissionWithO(Context context){
+        if (context == null){
+            return false;
+        }
+        return context.getPackageManager().canRequestPackageInstalls();
+    }
+
+    /**
+     * 如果没有权限,则申请安装未知应用权限(打开获取权限界面)
+     */
+    @RequiresApi(api = Build.VERSION_CODES.O)
+    private void startInstallPermissionSettingActivity(Context context) {
+        if (context == null) {
+            return;
+        }
+        Intent intent = new Intent();
+        //获取当前apk包URI,并设置到intent中(这一步设置,可让“未知应用权限设置界面”只显示当前应用的设置项)
+        Uri packageURI = Uri.parse("package:" + context.getPackageName());
+        intent.setData(packageURI);
+        //设置不同版本跳转未知应用的动作
+        if (Build.VERSION.SDK_INT >= 26) {
+            //intent = new Intent(android.provider.Settings.ACTION_MANAGE_UNKNOWN_APP_SOURCES,packageURI);
+            intent.setAction(android.provider.Settings.ACTION_MANAGE_UNKNOWN_APP_SOURCES);
+        } else {
+            intent.setAction(android.provider.Settings.ACTION_SECURITY_SETTINGS);
+        }
+        ((Activity) context).startActivity(intent);
+        Toast.makeText(getActivity(), "请打开未知应用安装权限", Toast.LENGTH_SHORT).show();
     }
 
     private void getNewVersionMsg() {
@@ -182,7 +233,9 @@ public class VersionUpgradeFragment extends BaseFragment implements ProgressResp
                     CommonUtil.toastNoRepeat(mActivity, "下载完成");
                     mProgressPop.dismiss();
                     try {
-                        File apk = new File(APK_FILE_PATH, APK_FILE_NAME);
+                        //                        File apk = new File(APK_FILE_PATH, APK_FILE_NAME);
+                        String filesDir = getActivity().getFilesDir().getAbsolutePath();
+                        File apk = new File(filesDir + "/general_wms/apk", APK_FILE_NAME);
                         Intent intent = new Intent(Intent.ACTION_VIEW);
                         if (Build.VERSION.SDK_INT >= 24) {
                             Uri apkUri = FileProvider.getUriForFile(mActivity,

+ 2 - 2
app/src/main/java/uas/erp/general_wms/fragment/WHBreakingBatchFragment.java

@@ -129,7 +129,7 @@ public class WHBreakingBatchFragment extends BaseFragment implements View.OnClic
                         intent.setComponent(comp);
                         intent.setAction("android.intent.action.VIEW");
                         intent.setType("application/pdf");
-                        intent.setData(Uri.fromFile(new File(Constants.CONSTANT.PRINT_FILE_PATH, Constants.CONSTANT.PRINT_FILE_NAME)));
+                        intent.setData(Uri.fromFile(new File(getActivity().getFilesDir().getAbsolutePath() + "/UASPDA/printFile", Constants.CONSTANT.PRINT_FILE_NAME)));
                         startActivity(intent);
                     } catch (Exception e) {
                         Toast.makeText(mActivity, "打印失败", Toast.LENGTH_LONG).show();
@@ -810,7 +810,7 @@ public class WHBreakingBatchFragment extends BaseFragment implements View.OnClic
                     JSONObject resultObject = new JSONObject(s);
                     if (resultObject.optBoolean("success")) {
                         mPrintUrl = resultObject.optString("data");
-                        FileUtils.printBarcode(mPrintUrl, mHandler);
+                        FileUtils.printBarcode(getActivity(),mPrintUrl, mHandler);
                     }
                 } catch (JSONException e) {
                     if (progressDialog.isShowing())

+ 2 - 2
app/src/main/java/uas/erp/general_wms/fragment/WHCombineBatchFragment.java

@@ -120,7 +120,7 @@ public class WHCombineBatchFragment extends BaseFragment implements View.OnClick
                         intent.setComponent(comp);
                         intent.setAction("android.intent.action.VIEW");
                         intent.setType("application/pdf");
-                        intent.setData(Uri.fromFile(new File(Constants.CONSTANT.PRINT_FILE_PATH, Constants.CONSTANT.PRINT_FILE_NAME)));
+                        intent.setData(Uri.fromFile(new File(getActivity().getFilesDir().getAbsolutePath() + "/UASPDA/printFile", Constants.CONSTANT.PRINT_FILE_NAME)));
                         startActivity(intent);
                     } catch (Exception e) {
                         Toast.makeText(mActivity, "打印失败", Toast.LENGTH_LONG).show();
@@ -667,7 +667,7 @@ public class WHCombineBatchFragment extends BaseFragment implements View.OnClick
                     JSONObject resultObject = new JSONObject(s);
                     if (resultObject.optBoolean("success")) {
                         mPrintUrl = resultObject.optString("data");
-                        FileUtils.printBarcode(mPrintUrl, mHandler);
+                        FileUtils.printBarcode(getActivity(),mPrintUrl, mHandler);
                     }
                 } catch (JSONException e) {
                     if (progressDialog.isShowing())

+ 3 - 4
app/src/main/java/uas/erp/general_wms/util/AndroidUtil.java

@@ -127,8 +127,7 @@ public class AndroidUtil {
 			Bitmap b = Bitmap.createBitmap(bitmap, 0, statusBarHeight, width, height - statusBarHeight);
 			view.destroyDrawingCache();
 			if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) {
-				path = Environment.getExternalStorageDirectory().getAbsolutePath() + "/" + System.currentTimeMillis()
-						+ ".jpg";
+				path = activity.getFilesDir().getAbsolutePath() + "/" + System.currentTimeMillis() + ".jpg";
 			} else {
 				path = activity.getCacheDir() + "/" + System.currentTimeMillis() + ".jpg";
 			}
@@ -152,7 +151,7 @@ public class AndroidUtil {
 			// Bitmap b = Bitmap.createBitmap(viewGroup.getWidth(), height,
 			// Bitmap.Config.RGB_565);
 			if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) {
-				path = Environment.getExternalStorageDirectory().getAbsolutePath() + "/" + System.currentTimeMillis()
+				path = activity.getFilesDir().getAbsolutePath() + "/" + System.currentTimeMillis()
 						+ ".jpg";
 			} else {
 				path = activity.getCacheDir() + "/" + System.currentTimeMillis() + ".jpg";
@@ -186,7 +185,7 @@ public class AndroidUtil {
 			Bitmap b = Bitmap.createBitmap(bitmap, 0, statusBarHeight, width, height - statusBarHeight);
 			view.destroyDrawingCache();
 			if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) {
-				path = Environment.getExternalStorageDirectory().getAbsolutePath()
+				path = activity.getFilesDir().getAbsolutePath()
 						+ "/takeScreenShotContainSurface.jpg";
 			} else {
 				path = activity.getCacheDir() + "/takeScreenShotContainSurface.jpg";

+ 3 - 5
app/src/main/java/uas/erp/general_wms/util/Constants.java

@@ -1,18 +1,16 @@
 package uas.erp.general_wms.util;
 
-import android.os.Environment;
-
 /**
  * 常量集合类
  */
 public interface Constants {
 
     interface CONSTANT {
-        String APP_DIR_NAME = Environment.getExternalStorageDirectory().getAbsolutePath() + "/Android/data/";
+//        String APP_DIR_NAME = Environment.getExternalStorageDirectory().getAbsolutePath() + "/Android/data/";
         String PRINT_SHARE_PACKAGE = "com.dynamixsoftware.printershare";
         String PRINT_FILE_NAME = "print.pdf";
-        String PRINT_FILE_PATH = Environment.getExternalStorageDirectory().getAbsolutePath() + "/UASPDA/printFile";
-        String APK_FILE_PATH = Environment.getExternalStorageDirectory().getAbsolutePath() + "/general_wms/apk";
+//        String PRINT_FILE_PATH = Environment.getExternalStorageDirectory().getAbsolutePath() + "/UASPDA/printFile";
+//        String APK_FILE_PATH = Environment.getExternalStorageDirectory().getAbsolutePath() + "/general_wms/apk";
         String APK_FILE_NAME = "general_wms.apk";
 
         String APP_ICON_URL = "http://zhbj.qianlong.com/logo.png";

+ 5 - 5
app/src/main/java/uas/erp/general_wms/util/FileUtils.java

@@ -72,7 +72,7 @@ public class FileUtils {
     }
 
     public static File getCacheDir(Context context) {
-        File dirFire = new File(Constants.CONSTANT.APP_DIR_NAME + context.getPackageName() + "/cache/");
+        File dirFire = new File(context.getFilesDir().getAbsolutePath() + "/Android/data/" + context.getPackageName() + "/cache/");
         if (!dirFire.exists()) {
             dirFire.mkdirs();
         }
@@ -151,7 +151,7 @@ public class FileUtils {
      * @param printUrl 文件地址
      * @param mHandler
      */
-    public static void printBarcode(String printUrl, final Handler mHandler) {
+    public static void printBarcode(Context context,String printUrl, final Handler mHandler) {
         if (printUrl == null) {
             mHandler.sendEmptyMessage(Constants.CONSTANT.PRINT_FAILED);
             return;
@@ -187,11 +187,11 @@ public class FileUtils {
                         if (overload) {
                             mHandler.sendEmptyMessage(Constants.CONSTANT.PRINT_OVERLOAD);
                         } else {
-                            File directory = new File(Constants.CONSTANT.PRINT_FILE_PATH);
+                            File directory = new File(context.getFilesDir().getAbsolutePath() + "/UASPDA/printFile");
                             if (!directory.exists() && !directory.isDirectory()) {
                                 boolean mkdirs = directory.mkdirs();
                             } else {
-                                FileUtils.delAllFile(Constants.CONSTANT.PRINT_FILE_PATH);
+                                FileUtils.delAllFile(context.getFilesDir().getAbsolutePath() + "/UASPDA/printFile");
                             }
                             String printData = responseObject.optString("data");
                             if (TextUtils.isEmpty(printData)) {
@@ -199,7 +199,7 @@ public class FileUtils {
                             } else {
                                 inputStream = getStringStream(printData);
 
-                                File file = new File(Constants.CONSTANT.PRINT_FILE_PATH + "/", Constants.CONSTANT.PRINT_FILE_NAME);
+                                File file = new File(context.getFilesDir().getAbsolutePath() + "/UASPDA/printFile" + "/", Constants.CONSTANT.PRINT_FILE_NAME);
                                 if (!file.exists()) {
                                     try {
                                         file.createNewFile();

+ 7 - 4
app/src/main/res/xml/file_paths.xml

@@ -1,7 +1,10 @@
 <?xml version="1.0" encoding="utf-8"?>
 <paths xmlns:android="http://schemas.android.com/apk/res/android">
-    <external-path
-        path="Android/data/com.uas.pda_smart_com/"
-        name="files_root" />
-    <external-path path="." name="external_storage_root" />
+
+    <external-path name="ext_root" path="download"/>
+
+    <root-path
+        name="root_path"
+        path="." />
+
 </paths>

+ 4 - 0
app/src/main/res/xml/network_security_config.xml

@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<network-security-config>
+    <base-config cleartextTrafficPermitted="true" />
+</network-security-config>

+ 0 - 1
build.gradle

@@ -45,7 +45,6 @@ task clean(type: Delete) {
     delete rootProject.buildDir
 }
 
-
 ext {
     android = [
             minSdkVersion    : 21,