How to Manage Prompt Installation of APKs Configured in TMS: Difference between revisions

From wizarPOS
(Created page with " Sometimes, for kiosk terminal, it need decide when to install apk. So for apk in TMS, need configure prompt installing mode, then customer apk can receive download finishing...")
 
No edit summary
Line 1: Line 1:
   Sometimes, for kiosk terminal, it need decide when to install apk. So for apk in TMS, need configure prompt installing mode, then customer apk can receive download finishing broadcast, and send notice to wizarview agent to install apk.
   Sometimes, for kiosk terminal, it need decide when to install apk. So for apk in TMS, need configure prompt installing mode, then customer apk can receive download finishing broadcast, and send notice to wizarview agent to install apk. Wizarview agent version should be greator than 5.3.39.
== Receive download ==
== Receive download ==
   Receive the broadcast, action:android.intent.action.TMS_DOWNLOADED  extra value name: apk_notify_info  type: JSONArray, for example: [{"appId":19068,"newVersion":1,"newVersionName":"1.0","packageName":"com.liqi.myapp20210324"}]
   Receive the broadcast, action:android.intent.action.TMS_DOWNLOADED  extra value name: apk_notify_info  type: JSONArray, for example: [{"appId":19068,"newVersion":1,"newVersionName":"1.0","packageName":"com.liqi.myapp20210324"}]

Revision as of 02:22, 4 March 2022

 Sometimes, for kiosk terminal, it need decide when to install apk. So for apk in TMS, need configure prompt installing mode, then customer apk can receive download finishing broadcast, and send notice to wizarview agent to install apk. Wizarview agent version should be greator than 5.3.39.

Receive download

 Receive the broadcast, action:android.intent.action.TMS_DOWNLOADED   extra value name: apk_notify_info  type: JSONArray, for example: [{"appId":19068,"newVersion":1,"newVersionName":"1.0","packageName":"com.liqi.myapp20210324"}]
  • Register broadcast
  <receiver
	android:name=".receiver.ApkDownloadedReceiver">
    <intent-filter>
        <action android:name="android.intent.action.TMS_DOWNLOADED" />
    </intent-filter>
</receiver>
  • Extends class of the BroadcastReceiver
    String apk_notify_info = intent.getStringExtra("apk_notify_info");

Notice to install

 Send broadcast to install, action: android.intent.action.TMS_INSTALL  extra value name: apk_start_install_notify_info type: JSONArray, for example: [{"appId":19068,"newVersion":1,"newVersionName":"1.0","packageName":"com.liqi.myapp20210324"}]
    Intent intent = new Intent();
    intent.putExtra("apk_start_install_notify_info", JSON.toJSONString(apkNotifyInfos));
    intent.setAction("android.intent.action.TMS_INSTALL");
    context.sendBroadcast(intent);

ApkNotifyInfo class

   class ApkNotifyInfo {
        private int appId;
        private String packageName;
        private long newVersion;
        private String newVersionName;

        public ApkNotifyInfo() {
        }

        public ApkNotifyInfo(int appId, String packageName, long newVersion, String newVersionName) {
            this.appId = appId;
            this.packageName = packageName;
            this.newVersion = newVersion;
            this.newVersionName = newVersionName;
        }

        public int getAppId() {
            return appId;
        }

        public void setAppId(int appId) {
            this.appId = appId;
        }

        public String getPackageName() {
            return packageName;
        }

        public void setPackageName(String packageName) {
            this.packageName = packageName;
        }

        public long getNewVersion() {
            return newVersion;
        }

        public void setNewVersion(long newVersion) {
            this.newVersion = newVersion;
        }

        public String getNewVersionName() {
            return newVersionName;
        }

        public void setNewVersionName(String newVersionName) {
            this.newVersionName = newVersionName;
        }
}