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); } }