|  |  |  | 
|---|
|  |  |  | import android.content.Context; | 
|---|
|  |  |  | import android.content.Intent; | 
|---|
|  |  |  | import android.os.Bundle; | 
|---|
|  |  |  | import android.support.v4.content.LocalBroadcastManager; | 
|---|
|  |  |  | import android.util.Log; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | import com.unity3d.player.UnityPlayer; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | import org.json.JSONException; | 
|---|
|  |  |  | import org.json.JSONObject; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | import java.util.HashMap; | 
|---|
|  |  |  | 
|---|
|  |  |  | String regId = bundle.getString(JPushInterface.EXTRA_REGISTRATION_ID); | 
|---|
|  |  |  | Log.d(TAG, "[MyReceiver] 接收Registration Id : " + regId); | 
|---|
|  |  |  | //send the Registration Id to your server... | 
|---|
|  |  |  | Map<String, Object> _msg = new HashMap<>(); | 
|---|
|  |  |  | _msg.put("code", 2004); | 
|---|
|  |  |  | _msg.put("clientID", regId); | 
|---|
|  |  |  | JSONObject _json = new JSONObject(_msg); | 
|---|
|  |  |  | UnityPlayer.UnitySendMessage("SDKUtility", "Recv_SDK_Callback", _json.toString()); | 
|---|
|  |  |  | Map<String, Object> _msgStruct = new HashMap<>(); | 
|---|
|  |  |  | _msgStruct.put("code", CodeA2U.PushClientID); | 
|---|
|  |  |  | _msgStruct.put("clientID", regId); | 
|---|
|  |  |  | UniversalUtil.sendMessageToUnity(_msgStruct); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | else if (JPushInterface.ACTION_MESSAGE_RECEIVED.equals(intent.getAction())) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | Log.d(TAG, "[MyReceiver] 接收到推送下来的自定义消息: " + bundle.getString( | 
|---|
|  |  |  | JPushInterface.EXTRA_MESSAGE)); | 
|---|
|  |  |  | processCustomMessage(context, bundle); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | else if (JPushInterface.ACTION_NOTIFICATION_RECEIVED.equals(intent.getAction())) | 
|---|
|  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | else if (JPushInterface.ACTION_NOTIFICATION_OPENED.equals(intent.getAction())) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | //                Log.d(TAG, "[MyReceiver] 用户点击打开了通知"); | 
|---|
|  |  |  | //                //打开自定义的Activity | 
|---|
|  |  |  | //                Intent i = new Intent(context, TestActivity.class); | 
|---|
|  |  |  | //                i.putExtras(bundle); | 
|---|
|  |  |  | //                //i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); | 
|---|
|  |  |  | //                i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP ); | 
|---|
|  |  |  | //                context.startActivity(i); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | Log.d(TAG, "[MyReceiver] 用户点击打开了通知"); | 
|---|
|  |  |  | //打开自定义的Activity | 
|---|
|  |  |  | Intent i = new Intent(context, MainActivity.class); | 
|---|
|  |  |  | i.putExtras(bundle); | 
|---|
|  |  |  | i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP); | 
|---|
|  |  |  | context.startActivity(i); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | else if (JPushInterface.ACTION_RICHPUSH_CALLBACK.equals(intent.getAction())) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | 
|---|
|  |  |  | return sb.toString(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //    public static final String KEY_TITLE = "title"; | 
|---|
|  |  |  | //    public static final String KEY_MESSAGE = "message"; | 
|---|
|  |  |  | //    public static final String KEY_EXTRAS = "extras"; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //send msg to MainActivity | 
|---|
|  |  |  | private void processCustomMessage(Context context, Bundle bundle) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | Log.d(TAG, "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!![MyReceiver] 接收到推送下来的自定义消息: " + bundle.getString( | 
|---|
|  |  |  | JPushInterface.EXTRA_MESSAGE)); | 
|---|
|  |  |  | //        if (MainActivity.isForeground) { | 
|---|
|  |  |  | //            String message = bundle.getString(JPushInterface.EXTRA_MESSAGE); | 
|---|
|  |  |  | //            String extras = bundle.getString(JPushInterface.EXTRA_EXTRA); | 
|---|
|  |  |  | //            Intent msgIntent = new Intent(MainActivity.MESSAGE_RECEIVED_ACTION); | 
|---|
|  |  |  | //            msgIntent.putExtra(MainActivity.KEY_MESSAGE, message); | 
|---|
|  |  |  | //            if (!ExampleUtil.isEmpty(extras)) { | 
|---|
|  |  |  | //            if (!UniversalUtil.isEmpty(extras)) { | 
|---|
|  |  |  | //                try { | 
|---|
|  |  |  | //                    JSONObject extraJson = new JSONObject(extras); | 
|---|
|  |  |  | //                    if (extraJson.length() > 0) { | 
|---|