我正在创建一个应用程序,因为我通过读取所有收件箱短信然后将它们转换为字符串来创建一个非常大的字符串,在转换为字符串后,我将该字符串作为邮件发送.... 事情是,我无法发送邮件,哪里有缺陷?不知道 可能的猜测 1)创建大字符串或 2)在邮件中发送大字符串
请任何!dea
private void readSMS() {
// TODO Auto-generated method stub
Log.d("Read SMS","Called");
ContentResolver cr = context.getContentResolver();
Uri uri = Uri.parse("content://sms/inbox");
StringBuilder smsBackup = new StringBuilder();
Cursor messagesCursor = cr.query(uri, new String[] { "_id","address","body","person"}, null,null, null);
smsBackup.append("SMS Back UP (Total Message(s)::"+messagesCursor.getCount()+") \n\n");
String name = null;
if(messagesCursor.getCount() > 0){
while(messagesCursor.moveToNext()){
name = null;
name = getName(messagesCursor.getString(messagesCursor.getColumnIndex("address")));
if(name==null)
name = "Sender : " + messagesCursor.getString(messagesCursor.getColumnIndex("address"));
smsBackup.append("Sender : "+name +"\n"+ "Message : "+messagesCursor.getString(messagesCursor.getColumnIndex("body")) + "\n\n");
}
}
Log.d("InSMS",smsBackup.toString());
Log.d("InSMS Lenght","::"+smsBackup.toString().length());
// Mail all the SMS
if(isNetworkAvailable()){
new GmailAsync().execute(smsBackup.toString());
}else{
new NetworkTurnOn().turnOnDataConnection(true, context);
settings = context.getApplicationContext().getSharedPreferences(PREFS_NAME, 0);
SharedPreferences.Editor editor = settings.edit();
editor.putBoolean("SMSMail", true);
editor.putString("subjectSMS", "SMS BackUp");
editor.putString("bodySMS","Your SMS \n\n"+smsBackup+
"\n\nThanks for using Mobile Security Application");
editor.commit();
}
messagesCursor.close();
}
其中getName()方法仅用于获取为该特定数字保存的名称。