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>[email protected]=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 [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en