2013-05-13 5 views
6

は、私はそれ送るMMSは、プログラム

Intent sendIntent1 = new Intent(Intent.ACTION_SEND); 
    try { 

     sendIntent1.setType("text/x-vcard"); 
     sendIntent1.putExtra("address","0475223091"); 
     sendIntent1.putExtra("sms_body","hello.."); 
     sendIntent1.putExtra(Intent.EXTRA_STREAM, 
       Uri.parse(vcfFile.toURL().toString())); 
    } catch (MalformedURLException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } 
    startActivity(sendIntent1); 

は、問題は、それがメッセージ作成ページに指示されるため、次のコードを使用して、手動でSMSを送信する必要がプログラムでMMSを送信したいと私はどんなことなく、そうしたいいけません通知を送信する必要がありますどのように私はそれを行うことができますか?

誰かがモバイルノーとSubject.Andは、画像を添付して与えることによって、あなたが直接MMSことができ、このところで、私に答え

答えて

9

私は最終的に100%動作する解決策を見つけました。 githubプロジェクトhttps://github.com/klinker41/android-smsmmsを参照してください。 (それを見つける人はhttp://forum.xda-developers.com/showthread.php?t=2222703に寄稿してください)。義務の設定のみ

Settings sendSettings = new Settings(); 

sendSettings.setMmsc(mmsc); 
sendSettings.setProxy(proxy); 
sendSettings.setPort(port); 

あなたは彼らに何かを得ることができていることを

お知らせ、(Set APN programmatically on Androidで発見 - vincent091でanswearを):

Cursor cursor = null; 
if (Utils.hasICS()){ 
    cursor =SqliteWrapper.query(activity, activity.getContentResolver(), 
      Uri.withAppendedPath(Carriers.CONTENT_URI, "current"), APN_PROJECTION, null, null, null); 
} else { 
    cursor = activity.getContentResolver().query(Uri.withAppendedPath(Telephony.Carriers.CONTENT_URI, "current"), 
     null, null, null, null); 
} 

cursor.moveToLast(); 
String type = cursor.getString(cursor.getColumnIndex(Telephony.Carriers.TYPE)); 
String mmsc = cursor.getString(cursor.getColumnIndex(Telephony.Carriers.MMSC)); 
String proxy = cursor.getString(cursor.getColumnIndex(Telephony.Carriers.MMSPROXY)); 
String port = cursor.getString(cursor.getColumnIndex(Telephony.Carriers.MMSPORT)); 
+0

私はこの java.lang.IllegalArgumentExceptionが出ます:ヌルメッセージURI。 お手伝いできますか? – user3530687

-1

を共有してください。

Uri uri = Uri.parse("file://"+Environment.getExternalStorageDirectory()+"/test.png"); 
     Intent i = new Intent(Intent.ACTION_SEND); 
     i.putExtra("address","1234567890"); 
     i.putExtra("sms_body","This is the text mms"); 
     i.putExtra(Intent.EXTRA_STREAM,"file:/"+uri); 
     i.setType("image/png"); 
     startActivity(i); 
2

MMSは、AndroidでのHTTPベースの要求です。 MMSを送信するにはモバイルデータが必要です。 SMS用のAPIを持っているため、MMSを送信するためにAndroidによって公開されるAPIはありません。 アプリケーションでMMSを送信するには、すべてを書き込む必要があります。 AOSPコードを参照してください。 https://github.com/android/platform_packages_apps_mms または単にインテントを作成してからネイティブのメッセージングアプリケーションを起動することができます。