package com.pinecone.technology.mcommerce.learning.android.chapter04.broadcastReceiver; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.util.Log; import android.view.Menu; import android.view.MenuInflater; import android.view.MenuItem; import android.widget.TextView; import com.pinecone.technology.mcommerce.learning.android.chapter04.R; public class TestBCRActivity extends Activity { public static final String tag = "TestBCRActivity"; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.c05_broadcast_receiver_main); } @Override public boolean onCreateOptionsMenu(Menu menu) { super.onCreateOptionsMenu(menu); MenuInflater inflater = getMenuInflater(); // from activity inflater.inflate(R.menu.c05_broadcast_receiver_menu, menu); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { appendMenuItemText(item); if (item.getItemId() == R.id.menu_clear) { this.emptyText(); return true; } if (item.getItemId() == R.id.menu_send_broadcast) { this.testSendBroadcast(); return true; } return true; } private TextView getTextView() { return (TextView) this.findViewById(R.id.text1); } private void appendMenuItemText(MenuItem menuItem) { String title = menuItem.getTitle().toString(); TextView tv = getTextView(); tv.setText(tv.getText() + "\n" + title); } private void emptyText() { TextView tv = getTextView(); tv.setText(""); } private void testSendBroadcast() { // Print out what your running thread id is Utils.logThreadSignature(tag); // Create an intent with an action Intent broadcastIntent = new Intent( "com.pinecone.technology.mcommerce.learning.android.chapter05.RECEIVER_ACTION"); // load up the intent with a message // you want to broadcast broadcastIntent.putExtra("message", "Hello mobile world"); // send out the broadcast // there may be multiple receivers receiving it // this.sendBroadcast(broadcastIntent); this.sendOrderedBroadcast(broadcastIntent,null); // Log a message after sending the broadcast // This message should appear first in the log file // before the log messages from the broadcast // because they all run on the same thread Log.d(tag, "after send broadcast from main menu"); } }