Androidメール送信、メール保存データベース

12376 ワード

こんなに长い间忙しくて、卒业论文はついに完成して、ほほほ、今答弁するつもりです.そして、穏やかな中で私の最後の大学生活を過ごしましたハハ、、
今回はメールの送信についてご紹介しますが、ここでは一般的なテキストメールを発動したり、データメールを紹介したりします.
メールを送信するには、次の権限が必要です.
1.普通のテキストメッセージを送る
SmsManager smsManager = SmsManager.getDefault();  //     
PendingIntent sentIntent = PendingIntent.getBroadcast(this, 0,new Intent(), 0);
//       ,       
for (int count = 0; count < length; count++) {
    Pattern pattern = Pattern.compile("^[0-9]+$");
    Matcher matcher = pattern.matcher(phoneNumber);
    if (!matcher.matches()) {
                              //       
        showDialog(DIALOG_NUMBER_ERROR);
        return;
    }
}
for (int i = 0; i < length; i++) {
    if (smsContent.length() > 70) {
        //          70
        List msgs = smsManager.divideMessage(smsContent);
        for (String msg : msgs) {
            smsManager.sendTextMessage(contactsNumber[i], null,msg, sentIntent, null);
        }
    } else {
        smsManager.sendTextMessage(contactsNumber[i], null,smsContent, sentIntent, null);
    }
    //          
    ContentValues values = new ContentValues();
    values.put("address", contactsNumber[i]);
    values.put("body", smsContent);
    getContentResolver().insert(Uri.parse("content://sms/sent"), values);
}
Toast.makeText(this, R.string.sendSmsSuccess,Toast.LENGTH_SHORT).show();

2.データメールの送信
SmsManager smsManager = SmsManager.getDefault();
Intent sentIntent = new Intent("com.myself.action.SMS_SEND_RESULT");
PendingIntent dummySentEvent = PendingIntent.getBroadcast(this, 0, sentIntent, 0);
Intent deliveryIntent = new Intent("com.myself.action.SMS_DELIVERY_RESULT");
PendingIntent dummyDeliveryEvent = PendingIntent.getBroadcast(this, 0, deliveryIntent, 0);
int port=51234;
byte[]  sms_data = myString.getBytes();
try {
   smsManager.sendDataMessage(telNumStr, null, port, sms_data,dummySentEvent, dummyDeliveryEvent);
} catch (Exception e) {
  Log.e("SmsSending", "SendException", e);
}

        ,           BroadcastReceiver,   onReceive          ,

getDisplayMessageBody()をgetUserData()に変更するだけです.
 AndroidManifest.xml             ,    。
<<>uses-permission android:name="android.permission.RECEIVE_SMS" /> <<>receiver android:name="MessageDemo"> <<>intent-filter> <<>action android:name="android.provider.Telephony.SMS_RECEIVED" /> intent-filter> receiver> 
                 :
<<>uses-permission android:name="android.permission.RECEIVE_SMS" />
<<>receiver android:name="MessageDemo">
   <<>intent-filter>
      <<>action android:name="android.intent.action.DATA_SMS_RECEIVED" />
      <<>data android:scheme="sms" />
      <<>data android:host="localhost" />
      <<>data android:port="51234" />
  intent-filter>
receiver>