feat(push): 添加极光推送ID采集并优化推送模块
- 在设备信息采集请求中添加pushId字段并采集JPush注册ID - 将PushMessageService重命名为PushMessageReceiver以更准确反映其职责 - 在PushMessageReceiver中添加推送服务状态检测逻辑 - 修复AndroidManifest中receiver的intent-filter配置并限制导出 - 在PushExecutor中添加reboot命令的预留实现
This commit is contained in:
@@ -270,10 +270,11 @@
|
||||
<!-- User defined. For test only 用户自定义接收消息器,3.0.7开始支持,目前新tag/alias接口设置结果会在该广播接收器对应的方法中回调-->
|
||||
<!--since 5.2.0 接收JPush相关事件-->
|
||||
<receiver
|
||||
android:name=".push.jpush.PushMessageService"
|
||||
android:exported="true">
|
||||
android:name=".push.jpush.PushMessageReceiver"
|
||||
android:enabled="true"
|
||||
android:exported="false">
|
||||
<intent-filter>
|
||||
<action android:name="cn.jpush.android.intent.SERVICE_MESSAGE" />
|
||||
<action android:name="cn.jpush.android.intent.RECEIVER_MESSAGE" />
|
||||
<category android:name="${applicationId}" />
|
||||
</intent-filter>
|
||||
</receiver>
|
||||
|
||||
@@ -83,6 +83,9 @@ public class SnOtherInfoReq implements Serializable {
|
||||
@SerializedName("total_ram")
|
||||
private String totalRam;
|
||||
|
||||
@SerializedName("push_id")
|
||||
private String pushId;
|
||||
|
||||
public String getAppVersion() {
|
||||
return appVersion;
|
||||
}
|
||||
@@ -258,4 +261,12 @@ public class SnOtherInfoReq implements Serializable {
|
||||
public void setTotalRam(String totalRam) {
|
||||
this.totalRam = totalRam;
|
||||
}
|
||||
|
||||
public String getPushId() {
|
||||
return pushId;
|
||||
}
|
||||
|
||||
public void setPushId(String pushId) {
|
||||
this.pushId = pushId;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -37,6 +37,8 @@ import com.ttstd.dialer.bean.req.SnSystemInfoReq;
|
||||
import com.ttstd.dialer.utils.Logger;
|
||||
import com.ttstd.dialer.utils.SystemUtils;
|
||||
|
||||
import cn.jpush.android.api.JPushInterface;
|
||||
|
||||
import java.io.BufferedReader;
|
||||
import java.io.File;
|
||||
import java.io.FileReader;
|
||||
@@ -712,6 +714,13 @@ public class DeviceInfoCollector {
|
||||
Logger.e(TAG, "collect appListMd5 failed: " + t.getMessage());
|
||||
}
|
||||
|
||||
// ---- 极光推送注册 ID ----
|
||||
try {
|
||||
req.setPushId(JPushInterface.getRegistrationID(mContext));
|
||||
} catch (Throwable t) {
|
||||
Logger.e(TAG, "collect pushId failed: " + t.getMessage());
|
||||
}
|
||||
|
||||
return req;
|
||||
}
|
||||
|
||||
|
||||
@@ -472,7 +472,7 @@ public class PushExecutor {
|
||||
return;
|
||||
}
|
||||
ApkUtils.uninstall(mContext, packageName);
|
||||
Logger.e(TAG, "uninstallApp: " + packageName );
|
||||
Logger.e(TAG, "uninstallApp: " + packageName);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -493,5 +493,13 @@ public class PushExecutor {
|
||||
Logger.e(TAG, "stopApp: " + packageName);
|
||||
}
|
||||
|
||||
/**
|
||||
* 重启(重启系统)(contentType = 12, reboot)。
|
||||
* 通过 {@code reboot} 命令实现,需要设备具备 root / shell 权限。
|
||||
*/
|
||||
private void reboot(String extra) {
|
||||
Logger.e(TAG, "reboot: ");
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -8,13 +8,14 @@ import com.ttstd.dialer.push.PushExecutor;
|
||||
import com.ttstd.dialer.service.main.MainService;
|
||||
import com.ttstd.dialer.utils.Logger;
|
||||
|
||||
import cn.jpush.android.api.CmdMessage;
|
||||
import cn.jpush.android.api.CustomMessage;
|
||||
import cn.jpush.android.api.JPushInterface;
|
||||
import cn.jpush.android.api.JPushMessage;
|
||||
import cn.jpush.android.api.NotificationMessage;
|
||||
import cn.jpush.android.service.JPushMessageReceiver;
|
||||
|
||||
public class PushMessageService extends JPushMessageReceiver {
|
||||
public class PushMessageReceiver extends JPushMessageReceiver {
|
||||
private static final String TAG = "PushMessageService";
|
||||
|
||||
|
||||
@@ -37,6 +38,20 @@ public class PushMessageService extends JPushMessageReceiver {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onCommandResult(Context context, CmdMessage cmdMessage) {
|
||||
if (cmdMessage != null && cmdMessage.cmd == 2003) {
|
||||
if (cmdMessage.errorCode == 0) {
|
||||
Logger.d(TAG, "推送服务未停止");
|
||||
} else if (cmdMessage.errorCode == 1) {
|
||||
Logger.d(TAG, "推送服务已停止");
|
||||
} else {
|
||||
Logger.e(TAG, "获取推送状态失败,错误码: " + cmdMessage.errorCode + ", 错误信息: " + cmdMessage.msg);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void onAliasOperatorResult(Context context, JPushMessage jPushMessage) {
|
||||
super.onAliasOperatorResult(context, jPushMessage);
|
||||
Reference in New Issue
Block a user