package com.test; import org.json.JSONException; import org.json.JSONObject; import android.app.Activity; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.content.IntentFilter; import android.os.Bundle; import android.support.v4.content.LocalBroadcastManager; import android.view.Menu; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.Toast; import com.parse.ParseInstallation; import com.parse.ParsePush; import com.parse.ParseQuery; import com.parse.PushService; public class MainActivity extends Activity implements OnClickListener { private Button push; private BroadcastReceiver mBroadcastReceiver = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { Toast.makeText(getApplicationContext(), "onReceive invoked!", Toast.LENGTH_LONG).show(); } }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); PushService.setDefaultPushCallback(this, MainActivity.class); push = (Button)findViewById(R.id.senPushB); push.setOnClickListener(this); } @Override public void onPause() { super.onPause(); //unregisterReceiver(mBroadcastReceiver); LocalBroadcastManager.getInstance(this).unregisterReceiver(mBroadcastReceiver); } @Override public void onResume() { super.onResume(); //registerReceiver(mBroadcastReceiver, new IntentFilter(MyCustomReceiver.intentAction)); LocalBroadcastManager.getInstance(this).registerReceiver(mBroadcastReceiver, new IntentFilter(MyCustomReceiver.intentAction)); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.activity_main, menu); return true; } @Override public void onClick(View v) { JSONObject obj; try { obj = new JSONObject(); obj.put("alert", "hello!"); obj.put("action", MyCustomReceiver.intentAction); obj.put("customdata","My message"); ParsePush push = new ParsePush(); ParseQuery query = ParseInstallation.getQuery(); // Push the notification to Android users query.whereEqualTo("deviceType", "android"); push.setQuery(query); push.setData(obj); push.sendInBackground(); } catch (JSONException e) { e.printStackTrace(); } } }