I solved it. Thank you for your replies. On Aug 2, 3:20 pm, Robinns <librain.ro...@gmail.com> wrote: > Dear, > > I am pasting my code here. > > ------------------------------------------------------------------- > public class Inbox extends ActivityGroup { > private ArrayList<InboxEmailDAO> inboxEmails = new > ArrayList<InboxEmailDAO>(); > private ListView listView; > private ArrayList<View> trackViews; > private InboxAdapter inboxAdapter; > private String previewEmailFrom = ""; > private String previewEmailSubject = ""; > private int previewEmailId; > private TextView smsMessage; > > @Override > public void onCreate(Bundle savedInstanceState) { > super.onCreate(savedInstanceState); > requestWindowFeature(Window.FEATURE_NO_TITLE); > setContentView(R.layout.inbox); > Bundle bundle = new Bundle(); > bundle = getIntent().getExtras(); > boolean isRecieved = false; > > if (bundle != null) { > isRecieved = bundle.getBoolean("smsRecievedForInbox"); > > } > > trackViews = new ArrayList<View>(); > smsMessage = (TextView) findViewById(R.id.smsMessage); > listView = (ListView) findViewById(R.id.inboxEmailList); > > if (isRecieved) { > smsMessage.setWidth(-5); > smsMessage.setHeight(-5); > > } > > inboxEmails = InboxEmailDAO.parseContentForInboxEmails(); > inboxAdapter = new InboxAdapter(getApplicationContext(), inboxEmails); > listView.setAdapter(inboxAdapter); > listView.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE); > ((InboxAdapter) inboxAdapter).notifyDataSetChanged(); > trackViews.add(listView); > listView.setOnItemClickListener(new OnItemClickListener() { > > @Override > public void onItemClick(AdapterView<?> adapterView, View view, > int position, long id) { > Intent intent = new Intent(getApplicationContext(), > EmailPreview.class); > previewEmailId = inboxEmails.get(position).getId(); > previewEmailFrom = inboxEmails.get(position).getFrom(); > previewEmailSubject = inboxEmails.get(position).getSubject(); > holdData(previewEmailId, previewEmailFrom, previewEmailSubject); > > Bundle bundle = new Bundle(); > bundle.putInt("emailId", previewEmailId); > bundle.putString("from", previewEmailFrom); > bundle.putString("subject", previewEmailSubject); > bundle.putInt("TAB_INDEX", 1); > intent.putExtras(bundle); > > InboxAdapter.setInboxViewMode(2); > View emailView = getLocalActivityManager().startActivity( > "EmailPreview", > intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)) > .getDecorView(); > Toast.makeText(getApplicationContext(), > "Sending to Preview: " + previewEmailId, > Toast.LENGTH_LONG).show(); > trackViews.add(emailView); > replaceView(emailView); > > } > }); > } > > @Override > public void onStart(){ > super.onStart(); > IntentFilter filter = new IntentFilter(SMSInfo.SMS_FOR_INBOX); > registerReceiver(new SMSRecieverForInbox(), filter);} > > @Override > public void onStop(){ > super.onStop(); > unregisterReceiver(new SMSRecieverForInbox()); > } > @Override > public void onBackPressed() { > > } > > @Override > public boolean onPrepareOptionsMenu(Menu menu) { > menu.clear(); > MenuInflater inflater = getMenuInflater(); > int mode = InboxAdapter.getInboxViewMode(); > if (mode == 1) { > inflater.inflate(R.menu.inbox_menu_after_edit, menu); > } else if (mode == -1) { > menu.clear(); > inflater.inflate(R.menu.inbox_menu, menu); > } else { > menu.clear(); > inflater.inflate(R.menu.inbox_email_preview_menu, menu); > } > return true; > > } > > @Override > public boolean onOptionsItemSelected(MenuItem item) { > > switch (item.getItemId()) { > case R.id.inboxEdit: > if (listView.getCount() < 0) { > Toast.makeText(getApplicationContext(), "No emails to edit.", > Toast.LENGTH_LONG).show(); > break;} > > if (InboxAdapter.getInboxViewMode() == -1) { > listView.setAdapter(new InboxAdapter(getApplicationContext(), > inboxEmails)); > InboxAdapter.setInboxViewMode(1);} > > break; > case R.id.inboxRefresh: > sendSmsToRetrieveEmail("inbox"); > break; > case R.id.inboxNext: > break; > case R.id.inboxPrevious: > break; > case R.id.inbox_menu_after_edit_delete: > > deleteAfterEditEmailList(); > break; > case R.id.inbox_menu_after_edit_cancel: > clearCheckedItems(); > break; > case R.id.email_preview_menu_delete: > > break; > > case R.id.email_preview_menu_reply: > break; > default: > break; > > } > > return false; > > } > > private void clearCheckedItems() { > for (int i = 0; i < this.inboxAdapter.getCount(); i++) { > LinearLayout linearyLay = (LinearLayout) this.listView > .getChildAt(i); > CheckBox checkBox = (CheckBox) linearyLay > .findViewById(R.id.inboxCheckBoxId); > if (checkBox.isChecked()) { > checkBox.setChecked(false);} > > } > ((InboxAdapter) inboxAdapter).notifyDataSetChanged(); > > } > > private void deleteAfterEditEmailList() { > Toast.makeText(getBaseContext(), "I am checking", Toast.LENGTH_SHORT) > .show(); > SparseBooleanArray booleanArray = listView.getCheckedItemPositions(); > for (int i = 0; i < listView.getCount(); i++) { > if (booleanArray.get(i)) > Toast.makeText(getBaseContext(), " the selected index is " + i, > Toast.LENGTH_SHORT).show(); > } > > } > > public void replaceView(View view) { > setContentView(view); > > } > > private void holdData(int emailId, String from, String sub) { > this.previewEmailId = emailId; > this.previewEmailFrom = from; > this.previewEmailSubject = sub; > > } > > private void sendSmsToRetrieveEmail(String inbox) { > PendingIntent sentIntent = PendingIntent.getBroadcast(this, 0,new > Intent(SMSInfo.SENT), 0); > PendingIntent deliveryIntent = PendingIntent.getBroadcast(this, 0,new > Intent(SMSInfo.DELIVERED), 0); > SmsManager.getDefault().sendTextMessage("5554", null, inbox,sentIntent, > deliveryIntent); > <------ here inbox is one keyword > // IntentFilter filter = new IntentFilter(SMSInfo.RECIEVED_SMS); > //filter.addAction(SMSInfo.SMS_FOR_INBOX); > Toast.makeText(getApplicationContext(), "Sending sms to retrieve inbox > emails list.", Toast.LENGTH_LONG).show(); > registerReceiver(new SMSRecieverForInbox(), filter); > //onStart(); > } > > } > > --------------------------------------------------------------------------- - > public class SMSRecieverForInbox extends BroadcastReceiver { > > @Override > public void onReceive(Context context, Intent intent) { > > if (intent.getAction().equals(SMSInfo.RECIEVED_SMS)) { > Bundle bundle = intent.getExtras(); > SmsMessage[] smsMessage = null; > String msg = ""; > if (bundle != null) { > Object[] pdus = (Object[]) bundle.get("pdus"); > smsMessage = new SmsMessage[pdus.length]; > for (int i = 0; i < smsMessage.length; i++) { > smsMessage[i] = SmsMessage.createFromPdu((byte[]) pdus[i]); > msg += smsMessage[i].getMessageBody();} > > if (msg != null ) { > Toast.makeText(context, "SMS FOR INBOX" + msg, > Toast.LENGTH_LONG).show(); > > InboxEmailDAO.setSMSAsEmailToParse(msg); > Intent i = new Intent(context, EmailClient.class); > Bundle extras = new Bundle(); > extras.putBoolean("SMS_RECIEVED_FOR_INBOX", true); > extras.putInt("TAB_INDEX", 2); > i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); > i.putExtras(extras); > //context.sendBroadcast(i); > context.startActivity(i); > return; > > } > } > } > > this.abortBroadcast();} > } > > ------------------------------------------------------------ > > public class InboxEmailDAO { > private int id; > private String from = ""; > private String subject = ""; > private String date = ""; > private String content = ""; > private static String recievedMessageFromSMS = ""; > > public InboxEmailDAO() { > > } > > public String getContent() { > return content; > > } > > public void setContent(String content) { > this.content = content; > > } > > public String getDate() { > return date; > > } > > public void setDate(String date) { > this.date = date; > > } > > public int getId() { > return id; > > } > > public void setId(int id) { > this.id = id; > > } > > public String getFrom() { > return from; > > } > > public void setFrom(String from) { > this.from = from; > > } > > public String getSubject() { > return subject; > > } > > public void setSubject(String subject) { > this.subject = subject; > > } > > public static String setSMSAsEmailToParse(String message) { > return recievedMessageFromSMS = message;} > > public static ArrayList<InboxEmailDAO> parseContentForInboxEmails() { > ArrayList<InboxEmailDAO> emailList = new ArrayList<InboxEmailDAO>(); > InboxEmailDAO ee = null; > if (recievedMessageFromSMS != null) { > //1=<Robin Thapa>ro...@hotmail.com.np=My Subject=July 26,2011=Lets meet and > discuss > recievedMessageFromSMS = recievedMessageFromSMS.trim(); > String[] splittedMsg = recievedMessageFromSMS.split("="); > int size = splittedMsg.length / 3; > for (int i = 0; i < size; i++) { > if (splittedMsg[0] != "") { > ee = new InboxEmailDAO(); > ee.setId(Integer.valueOf(splittedMsg[i * 3 + 0].toString())); > ee.setFrom(splittedMsg[i * 3 + 1]); > ee.setSubject(splittedMsg[i * 3 + 2]); > emailList.add(ee);} > } > > } > return emailList; > > } > } > > -------------------------------------------------- > > I am not being able to view my broadcastReciever. > Any suggestions
-- You received this message because you are subscribed to the Google Groups "Android Developers" group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en