160 lines
6.2 KiB
Java
160 lines
6.2 KiB
Java
package com.arpa.hndahesudintocctmsdriver.push;
|
|
|
|
import android.content.Context;
|
|
import android.content.Intent;
|
|
import android.util.Log;
|
|
|
|
import com.arpa.hndahesudintocctmsdriver.service.MakeUpService;
|
|
import com.arpa.hndahesudintocctmsdriver.ui.home.HuoYunDelActivity;
|
|
import com.arpa.hndahesudintocctmsdriver.ui.home.StartYunDanActivity;
|
|
import com.arpa.hndahesudintocctmsdriver.ui.login.WelcomeActivity;
|
|
|
|
import org.json.JSONException;
|
|
import org.json.JSONObject;
|
|
|
|
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 PushMessageReceiver extends JPushMessageReceiver {
|
|
|
|
private static final String TAG = "PushMessageReceiver";
|
|
|
|
@Override
|
|
public void onMessage(Context context, CustomMessage customMessage) {
|
|
Log.e(TAG, "[onMessage] " + customMessage);
|
|
Intent intent = new Intent("com.jiguang.demo.message");
|
|
intent.putExtra("msg", customMessage.message);
|
|
context.sendBroadcast(intent);
|
|
}
|
|
|
|
@Override
|
|
public void onNotifyMessageOpened(Context context, NotificationMessage message) {
|
|
Log.e(TAG, "[onNotifyMessageOpened] " + message);
|
|
try{
|
|
//打开自定义的Activity
|
|
JSONObject json=new JSONObject(message.notificationExtras);
|
|
///driver/detail?id=810
|
|
String url=json.getString("url");
|
|
if(url.indexOf("driver/detail")!=-1){
|
|
int id=Integer.parseInt(url.split("=")[1]);
|
|
Log.e("-url-",url+"_"+id);
|
|
Intent in=new Intent(context, HuoYunDelActivity.class);
|
|
in.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS);
|
|
in.putExtra("id",Integer.parseInt(url.split("=")[1]));
|
|
context.startActivity(in);
|
|
}else if(url.indexOf("driver/run/order")!=-1){
|
|
Intent in=new Intent(context, StartYunDanActivity.class);
|
|
in.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS);
|
|
in.putExtra("id",0);
|
|
context.startActivity(in);
|
|
}
|
|
|
|
}catch (Throwable throwable){
|
|
Log.e("123", "[onNotifyMessageOpened] " + message);
|
|
Intent in=new Intent(context, WelcomeActivity.class);
|
|
in.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS);
|
|
context.startActivity(in);
|
|
}
|
|
}
|
|
|
|
@Override
|
|
public void onMultiActionClicked(Context context, Intent intent) {
|
|
Log.e(TAG, "[onMultiActionClicked] 用户点击了通知栏按钮");
|
|
String nActionExtra = intent.getExtras().getString(JPushInterface.EXTRA_NOTIFICATION_ACTION_EXTRA);
|
|
|
|
//开发者根据不同 Action 携带的 extra 字段来分配不同的动作。
|
|
if (nActionExtra == null) {
|
|
Log.d(TAG, "ACTION_NOTIFICATION_CLICK_ACTION nActionExtra is null");
|
|
return;
|
|
}
|
|
if (nActionExtra.equals("my_extra1")) {
|
|
Log.e(TAG, "[onMultiActionClicked] 用户点击通知栏按钮一");
|
|
} else if (nActionExtra.equals("my_extra2")) {
|
|
Log.e(TAG, "[onMultiActionClicked] 用户点击通知栏按钮二");
|
|
} else if (nActionExtra.equals("my_extra3")) {
|
|
Log.e(TAG, "[onMultiActionClicked] 用户点击通知栏按钮三");
|
|
} else {
|
|
Log.e(TAG, "[onMultiActionClicked] 用户点击通知栏按钮未定义");
|
|
}
|
|
}
|
|
|
|
@Override
|
|
public void onNotifyMessageArrived(Context context,NotificationMessage message) {
|
|
Log.e(TAG, "[onNotifyMessageArrived] " + message);
|
|
JSONObject json= null;
|
|
String str="";
|
|
try {
|
|
json = new JSONObject(message.notificationExtras);
|
|
str=json.getString("soundType");
|
|
} catch (JSONException e) {
|
|
e.printStackTrace();
|
|
}
|
|
//soundType 声音类型 -1不播放 0新的派单 1新的抢单 2运单结算
|
|
if(!"-1".equals(str)){
|
|
Intent ins=new Intent(context,MakeUpService.class);
|
|
//ins.putExtra("type",str);
|
|
context.startService(ins);
|
|
}
|
|
}
|
|
|
|
@Override
|
|
public void onNotifyMessageDismiss(Context context, NotificationMessage message) {
|
|
Log.e(TAG, "[onNotifyMessageDismiss] " + message);
|
|
}
|
|
|
|
@Override
|
|
public void onRegister(Context context, String registrationId) {
|
|
Log.e(TAG, "[onRegister] " + registrationId);
|
|
Intent intent = new Intent("com.jiguang.demo.register");
|
|
context.sendBroadcast(intent);
|
|
}
|
|
|
|
@Override
|
|
public void onConnected(Context context, boolean isConnected) {
|
|
Log.e(TAG, "[onConnected] " + isConnected);
|
|
}
|
|
|
|
@Override
|
|
public void onCommandResult(Context context, CmdMessage cmdMessage) {
|
|
Log.e(TAG, "[onCommandResult] " + cmdMessage);
|
|
}
|
|
|
|
@Override
|
|
public void onTagOperatorResult(Context context, JPushMessage jPushMessage) {
|
|
TagAliasOperatorHelper.getInstance().onTagOperatorResult(context,jPushMessage);
|
|
super.onTagOperatorResult(context, jPushMessage);
|
|
}
|
|
|
|
@Override
|
|
public void onCheckTagOperatorResult(Context context, JPushMessage jPushMessage) {
|
|
TagAliasOperatorHelper.getInstance().onCheckTagOperatorResult(context,jPushMessage);
|
|
super.onCheckTagOperatorResult(context, jPushMessage);
|
|
}
|
|
|
|
@Override
|
|
public void onAliasOperatorResult(Context context, JPushMessage jPushMessage) {
|
|
TagAliasOperatorHelper.getInstance().onAliasOperatorResult(context,jPushMessage);
|
|
super.onAliasOperatorResult(context, jPushMessage);
|
|
}
|
|
|
|
@Override
|
|
public void onMobileNumberOperatorResult(Context context, JPushMessage jPushMessage) {
|
|
TagAliasOperatorHelper.getInstance().onMobileNumberOperatorResult(context,jPushMessage);
|
|
super.onMobileNumberOperatorResult(context, jPushMessage);
|
|
}
|
|
|
|
@Override
|
|
public void onNotificationSettingsCheck(Context context, boolean isOn, int source) {
|
|
super.onNotificationSettingsCheck(context, isOn, source);
|
|
Log.e(TAG, "[onNotificationSettingsCheck] isOn:" + isOn + ",source:" + source);
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|