package net.coding.program; import android.app.NotificationManager; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import com.loopj.android.http.AsyncHttpClient; import com.loopj.android.http.JsonHttpResponseHandler; import net.coding.program.common.Global; import net.coding.program.common.PushReceiver; import net.coding.program.common.htmltext.URLSpanNoUnderline; import net.coding.program.common.network.MyAsyncHttpClient; public class MyPushReceiver extends BroadcastReceiver { public static final String PushClickBroadcast = "net.coding.program.MyPushReceiver.PushClickBroadcast"; public MyPushReceiver() { } public static void closeNotify(Context context, String url) { String notifys[] = PushReceiver.sNotify; NotificationManager mNotificationManager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE); for (int i = 0; i < notifys.length; ++i) { if (url.equals(notifys[i])) { mNotificationManager.cancel(i); } } } @Override public void onReceive(Context context, Intent intent) { String url = intent.getStringExtra("data"); if (url != null) { closeNotify(context, url); if (MyApp.getMainActivityState()) { URLSpanNoUnderline.openActivityByUri(context, url, true); } else { Intent mainIntent = new Intent(context, MainActivity_.class); mainIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); // mainIntent.putExtra("mPushUrl", url); context.startActivity(mainIntent); URLSpanNoUnderline.openActivityByUri(context, url, true); } } String id = intent.getStringExtra("id"); if (id != null && !id.isEmpty()) { AsyncHttpClient client = MyAsyncHttpClient.createClient(context); final String host = Global.HOST_API + "/notification/mark-read?id=%s"; client.post(String.format(host, id), new JsonHttpResponseHandler() { }); } } }