根据H88 需求,添加拍照新命令 IWBP46,353456789012345,080835,2,[参数]#,此命令弹窗用app拍照,不是后台拍照。
authorsnickersun <scy@incartech.cn>
Mon, 2 Nov 2020 09:56:30 +0000 (17:56 +0800)
committersnickersun <scy@incartech.cn>
Mon, 2 Nov 2020 09:56:30 +0000 (17:56 +0800)
app/src/main/java/com/enqualcomm/support/service/Deliver.java
app/src/main/java/com/enqualcomm/support/utils/ProcessReceiver.java
app/src/main/java/com/enqualcomm/support/utils/Util.java
app/src/main/java/com/ic/protocols/protocol_ic.java

index 78eb686..f58c39e 100644 (file)
@@ -529,7 +529,24 @@ public class Deliver extends AbstractConnectionService {
       },500);\r
 \r
       return true;\r
-  }else if ("StartMonitor".equals(paramStringMessage.cmd())) {\r
+    }else if ("takephoto".equals(paramStringMessage.cmd())) {\r
+\r
+      mSendMSGHandler.postDelayed(new Runnable() {\r
+        @Override\r
+        public void run() {\r
+          final Context context = (Deliver.this.mRuntime.getContextProxy()).context;\r
+          Intent intent = new Intent();\r
+          ICLogger.d(Constants.ACTION_MESSAGE_RECEIVED+" "+paramStringMessage.isFromCache());\r
+          //显示提示窗口\r
+          intent.setAction(DIALOG_ACTION);\r
+          intent.putExtra("takephoto", "Take photo !");\r
+          context.sendBroadcast(intent);\r
+        }\r
+      },500);\r
+\r
+      return true;\r
+\r
+    }else if ("StartMonitor".equals(paramStringMessage.cmd())) {\r
 \r
       String recordfilepath=Util.getRecordfilePath(mRuntime, TimeUtil.getSystemTime3());\r
       int recordtime=Integer.parseInt(paramStringMessage.isFromCache().trim());\r
index ebf56d1..9e60720 100644 (file)
@@ -117,7 +117,7 @@ public class ProcessReceiver extends BroadcastReceiver {
       var6.append("  ");\r
       var6.append(var4);\r
       var6.append(context.getString(R.string.voiceMessageEnd));\r
-      mCustomDialog = tmpDialog.setMessage(var6.toString()).setPositiveButton("确定", new DialogInterface.OnClickListener() {\r
+      mCustomDialog = tmpDialog.setMessage(var6.toString()).setPositiveButton(context.getString(R.string.ok), new DialogInterface.OnClickListener() {\r
         public void onClick(DialogInterface var1x, int var2x) {\r
           var1x.dismiss();\r
           ComponentName var3 = new ComponentName("com.enqualcomm.imessage", "com.enqualcomm.imessage.ui.chat.ChatActivity_");\r
@@ -135,7 +135,7 @@ public class ProcessReceiver extends BroadcastReceiver {
           }\r
 \r
         }\r
-      }).setNegativeButton("取消", new DialogInterface.OnClickListener() {\r
+      }).setNegativeButton(context.getString(R.string.cancel), new DialogInterface.OnClickListener() {\r
         public void onClick(DialogInterface var1, int var2) {\r
           var1.dismiss();\r
           VibrateUtil.getInstance(context).VibrateOn(false);\r
@@ -149,7 +149,7 @@ public class ProcessReceiver extends BroadcastReceiver {
       var7.append(context.getString(R.string.hht_call_start));\r
       var7.append(var4);\r
       var7.append(context.getString(R.string.hht_call_end));\r
-      mCustomDialog = tmpDialog.setMessage(var7.toString()).setPositiveButton("确定", new DialogInterface.OnClickListener() {\r
+      mCustomDialog = tmpDialog.setMessage(var7.toString()).setPositiveButton(context.getString(R.string.ok), new DialogInterface.OnClickListener() {\r
         public void onClick(DialogInterface var1, int var2) {\r
           var1.dismiss();\r
           VibrateUtil.getInstance(context).VibrateOn(false);\r
@@ -161,7 +161,7 @@ public class ProcessReceiver extends BroadcastReceiver {
       tmpDialog = this.mDialog.setTitle(context.getString(R.string.sms_title)).setApp(1);\r
       StringBuilder var7 = new StringBuilder();\r
       var7.append(context.getString(R.string.sms_notify));\r
-      mCustomDialog = tmpDialog.setMessage(var7.toString()).setPositiveButton("确定", new DialogInterface.OnClickListener() {\r
+      mCustomDialog = tmpDialog.setMessage(var7.toString()).setPositiveButton(context.getString(R.string.ok), new DialogInterface.OnClickListener() {\r
         public void onClick(DialogInterface var1, int var2) {\r
           var1.dismiss();\r
           ComponentName var3 = new ComponentName("com.zmapp.sms", "com.zmapp.sms.MainActivity");\r
@@ -176,7 +176,7 @@ public class ProcessReceiver extends BroadcastReceiver {
             var4.printStackTrace();\r
           }\r
         }\r
-      }).setNegativeButton("取消", new DialogInterface.OnClickListener() {\r
+      }).setNegativeButton(context.getString(R.string.cancel), new DialogInterface.OnClickListener() {\r
         public void onClick(DialogInterface var1, int var2) {\r
           var1.dismiss();\r
           VibrateUtil.getInstance(context).VibrateOn(false);\r
@@ -188,7 +188,7 @@ public class ProcessReceiver extends BroadcastReceiver {
       tmpDialog = this.mDialog.setTitle("WEB"+context.getString(R.string.sms_title)).setApp(1);\r
       StringBuilder var7 = new StringBuilder();\r
       var7.append(msg);\r
-      mCustomDialog = tmpDialog.setMessage(var7.toString()).setPositiveButton("确定", new DialogInterface.OnClickListener() {\r
+      mCustomDialog = tmpDialog.setMessage(var7.toString()).setPositiveButton(context.getString(R.string.ok), new DialogInterface.OnClickListener() {\r
         public void onClick(DialogInterface var1, int var2) {\r
           var1.dismiss();\r
           VibrateUtil.getInstance(context).VibrateOn(false);\r
@@ -203,7 +203,7 @@ public class ProcessReceiver extends BroadcastReceiver {
     tmpDialog = this.mDialog.setTitle(context.getString(R.string.findDev)).setApp(1);\r
     StringBuilder var7 = new StringBuilder();\r
     var7.append(msg);\r
-    mCustomDialog = tmpDialog.setMessage(var7.toString()).setPositiveButton("确定", new DialogInterface.OnClickListener() {\r
+    mCustomDialog = tmpDialog.setMessage(var7.toString()).setPositiveButton(context.getString(R.string.ok), new DialogInterface.OnClickListener() {\r
       public void onClick(DialogInterface var1, int var2) {\r
         var1.dismiss();\r
         VibrateUtil.getInstance(context).VibrateOn(false);\r
@@ -212,6 +212,36 @@ public class ProcessReceiver extends BroadcastReceiver {
     }).create();\r
     mCustomDialog.getWindow().setType(WindowManager.LayoutParams.TYPE_TOAST);\r
     mCustomDialog.show();\r
+    }else if (app_id ==6) {\r
+      tmpDialog = this.mDialog.setTitle(context.getString(R.string.notification_title)).setApp(1);\r
+      StringBuilder var7 = new StringBuilder();\r
+      var7.append(msg);\r
+      mCustomDialog = tmpDialog.setMessage(var7.toString()).setPositiveButton(context.getString(R.string.ok), new DialogInterface.OnClickListener() {\r
+        public void onClick(DialogInterface var1, int var2) {\r
+          var1.dismiss();\r
+          VibrateUtil.getInstance(context).VibrateOn(false);\r
+          stopmediaplayer();\r
+\r
+          String packagename="com.eqc.camera";\r
+          String activityName="com.eqc.camera.TakePictureActivity";\r
+          if (Util.installed(context,"com.ic.camera")){\r
+            packagename="com.ic.camera";\r
+            activityName="com.ic.camera.MainActivity";\r
+          }\r
+          ComponentName var3 = new ComponentName(packagename, activityName);\r
+          Intent var5 = new Intent("android.intent.action.MAIN");\r
+          var5.addCategory("android.intent.category.DEFAULT");\r
+          var5.addFlags(FLAG_ACTIVITY_NEW_TASK);\r
+          var5.setComponent(var3);\r
+          try {\r
+            context.startActivity(var5);\r
+          } catch (Exception var4) {\r
+            var4.printStackTrace();\r
+          }\r
+        }\r
+      }).create();\r
+      mCustomDialog.getWindow().setType(WindowManager.LayoutParams.TYPE_TOAST);\r
+      mCustomDialog.show();\r
     }\r
   }\r
   private void playFindDevVoice(Context context){\r
@@ -418,6 +448,20 @@ public class ProcessReceiver extends BroadcastReceiver {
 \r
             }\r
 \r
+            this.screenOn(paramContext);\r
+          }\r
+        }else if (paramIntent.hasExtra("takephoto")) {\r
+          String takephoto = paramIntent.getStringExtra("takephoto");\r
+          SharPreferenceUtil.getPrefBoolean(paramContext, "key_is_resume", false);\r
+          isSilence = SharPreferenceUtil.getPrefBoolean(paramContext, "KEY_ISSILENCE", false);\r
+          if (takephoto != null && !isSilence) {\r
+            if (!DeviceInfoUtil.isTopActivity(paramContext)) {\r
+              this.initMyDialog(paramContext, null, 6,takephoto);\r
+              this.playNotificationVoice(paramContext);\r
+              VibrateUtil.getInstance(paramContext).VibrateOn(true);\r
+\r
+            }\r
+\r
             this.screenOn(paramContext);\r
           }\r
         }\r
index 5fc111a..4d88c3c 100644 (file)
@@ -3,6 +3,8 @@ package com.enqualcomm.support.utils;
 import android.annotation.TargetApi;\r
 import android.content.Context;\r
 import android.content.Intent;\r
+import android.content.pm.PackageInfo;\r
+import android.content.pm.PackageManager;\r
 import android.graphics.Bitmap;\r
 import android.graphics.BitmapFactory;\r
 import android.media.MediaPlayer;\r
@@ -74,6 +76,18 @@ public class Util {
     }catch ( Exception e){}\r
   }\r
 \r
+\r
+  public static boolean installed(Context context,String appPackageName) {\r
+    PackageManager packageManager = context.getPackageManager();// 获取packagemanager\r
+    List<PackageInfo> pinfo = packageManager.getInstalledPackages(0);// 获取所有已安装程序的包信息\r
+    for (PackageInfo pkif : pinfo) {\r
+      String pn = pkif.packageName;\r
+      if (appPackageName.equals(pn)) {\r
+        return true;\r
+      }\r
+    }\r
+    return false;\r
+  }\r
   public static boolean is_FT6236U_upgrade_firmware_support(){\r
     boolean ret=getSystemProperties("product.tp.upgradeable").toLowerCase().equals("true");\r
       return ret;\r
index 6759e89..7307b55 100644 (file)
@@ -39,6 +39,7 @@ import static android.content.Intent.FLAG_ACTIVITY_NEW_TASK;
 import static android.content.Intent.FLAG_INCLUDE_STOPPED_PACKAGES;\r
 import static com.enqualcomm.support.Constants.ACTION_HEATR_RATE_START;\r
 import static com.enqualcomm.support.Constants.ACTION_REMOTE_CAMERA;\r
+import static com.enqualcomm.support.Constants.DIALOG_ACTION;\r
 import static com.enqualcomm.support.LocationClient.LOCATION_MODE;\r
 import static com.enqualcomm.support.bean.Contact.GROUP_ALL;\r
 import static java.lang.Math.abs;\r
@@ -79,6 +80,8 @@ public class protocol_ic {
         BPTM,\r
         APCH,//充电提示\r
         BPCH,\r
+        APBR,//上传蓝牙扫描结果\r
+        BPBR,\r
         /* 服务器发起*/\r
         AP12,\r
         BP12,//SOS 号码设置\r
@@ -152,6 +155,8 @@ public class protocol_ic {
         BPTQ,\r
         APAT,//剪断消息开关\r
         BPAT,\r
+        APBT, //设置蓝牙扫描间隔\r
+        BPBT,\r
         UNKNOWN_CMD,\r
     }\r
 \r
@@ -185,6 +190,8 @@ public class protocol_ic {
         cmdMap.put(CMD_TYPE.BPTM, "BPTM");\r
         cmdMap.put(CMD_TYPE.APCH, "APCH");\r
         cmdMap.put(CMD_TYPE.BPCH, "BPCH");\r
+        cmdMap.put(CMD_TYPE.APBR, "APBR");\r
+        cmdMap.put(CMD_TYPE.BPBR, "BPBR");\r
         /* 服务器发起*/\r
         cmdMap.put(CMD_TYPE.AP12, "AP12");\r
         cmdMap.put(CMD_TYPE.BP12, "BP12");\r
@@ -258,6 +265,8 @@ public class protocol_ic {
         cmdMap.put(CMD_TYPE.BPTQ, "BPTQ");\r
         cmdMap.put(CMD_TYPE.APAT, "APAT");\r
         cmdMap.put(CMD_TYPE.BPAT, "BPAT");\r
+        cmdMap.put(CMD_TYPE.APBT, "APBT");\r
+        cmdMap.put(CMD_TYPE.BPBT, "BPBT");\r
 \r
     }\r
 \r
@@ -2293,10 +2302,10 @@ public class protocol_ic {
                 String tmp = cmdlist[4];\r
             }\r
             connection.send(AP46(id,cdd));\r
-\r
+            Context context = mRuntime.getContextProxy().context.getApplicationContext();\r
             if (cdd.equals("1")) {\r
                 //delay 启动\r
-                Context context = mRuntime.getContextProxy().context.getApplicationContext();\r
+\r
 //            Intent intent = new Intent(context, com.enqualcomm.support.CoreService.class);\r
 //            intent.setAction(ACTION_REMOTE_CAMERA);\r
 //            intent.putExtra("remote_number", id);\r
@@ -2309,6 +2318,11 @@ public class protocol_ic {
                     }\r
                 });\r
 \r
+            }else if(cdd.equals("2")){\r
+                Intent intent = new Intent();\r
+                intent.setAction(DIALOG_ACTION);\r
+                intent.putExtra("takephoto", "Take Photo !");\r
+                context.sendBroadcast(intent);\r
             }\r
         }else{\r
             ICLogger.i(" BP46 Format error!");\r