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接口设置结果会在该广播接收器对应的方法中回调-->
|
<!-- User defined. For test only 用户自定义接收消息器,3.0.7开始支持,目前新tag/alias接口设置结果会在该广播接收器对应的方法中回调-->
|
||||||
<!--since 5.2.0 接收JPush相关事件-->
|
<!--since 5.2.0 接收JPush相关事件-->
|
||||||
<receiver
|
<receiver
|
||||||
android:name=".push.jpush.PushMessageService"
|
android:name=".push.jpush.PushMessageReceiver"
|
||||||
android:exported="true">
|
android:enabled="true"
|
||||||
|
android:exported="false">
|
||||||
<intent-filter>
|
<intent-filter>
|
||||||
<action android:name="cn.jpush.android.intent.SERVICE_MESSAGE" />
|
<action android:name="cn.jpush.android.intent.RECEIVER_MESSAGE" />
|
||||||
<category android:name="${applicationId}" />
|
<category android:name="${applicationId}" />
|
||||||
</intent-filter>
|
</intent-filter>
|
||||||
</receiver>
|
</receiver>
|
||||||
|
|||||||
@@ -83,6 +83,9 @@ public class SnOtherInfoReq implements Serializable {
|
|||||||
@SerializedName("total_ram")
|
@SerializedName("total_ram")
|
||||||
private String totalRam;
|
private String totalRam;
|
||||||
|
|
||||||
|
@SerializedName("push_id")
|
||||||
|
private String pushId;
|
||||||
|
|
||||||
public String getAppVersion() {
|
public String getAppVersion() {
|
||||||
return appVersion;
|
return appVersion;
|
||||||
}
|
}
|
||||||
@@ -258,4 +261,12 @@ public class SnOtherInfoReq implements Serializable {
|
|||||||
public void setTotalRam(String totalRam) {
|
public void setTotalRam(String totalRam) {
|
||||||
this.totalRam = 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.Logger;
|
||||||
import com.ttstd.dialer.utils.SystemUtils;
|
import com.ttstd.dialer.utils.SystemUtils;
|
||||||
|
|
||||||
|
import cn.jpush.android.api.JPushInterface;
|
||||||
|
|
||||||
import java.io.BufferedReader;
|
import java.io.BufferedReader;
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.io.FileReader;
|
import java.io.FileReader;
|
||||||
@@ -712,6 +714,13 @@ public class DeviceInfoCollector {
|
|||||||
Logger.e(TAG, "collect appListMd5 failed: " + t.getMessage());
|
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;
|
return req;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -472,7 +472,7 @@ public class PushExecutor {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
ApkUtils.uninstall(mContext, packageName);
|
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);
|
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.service.main.MainService;
|
||||||
import com.ttstd.dialer.utils.Logger;
|
import com.ttstd.dialer.utils.Logger;
|
||||||
|
|
||||||
|
import cn.jpush.android.api.CmdMessage;
|
||||||
import cn.jpush.android.api.CustomMessage;
|
import cn.jpush.android.api.CustomMessage;
|
||||||
import cn.jpush.android.api.JPushInterface;
|
import cn.jpush.android.api.JPushInterface;
|
||||||
import cn.jpush.android.api.JPushMessage;
|
import cn.jpush.android.api.JPushMessage;
|
||||||
import cn.jpush.android.api.NotificationMessage;
|
import cn.jpush.android.api.NotificationMessage;
|
||||||
import cn.jpush.android.service.JPushMessageReceiver;
|
import cn.jpush.android.service.JPushMessageReceiver;
|
||||||
|
|
||||||
public class PushMessageService extends JPushMessageReceiver {
|
public class PushMessageReceiver extends JPushMessageReceiver {
|
||||||
private static final String TAG = "PushMessageService";
|
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
|
@Override
|
||||||
public void onAliasOperatorResult(Context context, JPushMessage jPushMessage) {
|
public void onAliasOperatorResult(Context context, JPushMessage jPushMessage) {
|
||||||
super.onAliasOperatorResult(context, jPushMessage);
|
super.onAliasOperatorResult(context, jPushMessage);
|
||||||
Reference in New Issue
Block a user