2012-07-23 106 views
0

我試圖通過發送彩信照片,我使用以下已知片斷通過彩信發送照片

Intent i = new Intent(Intent.ACTION_SEND); 
i.putExtra(Intent.EXTRA_TEXT, "This is an MMS message"); 
String sendfilepath = "file://" + sendfile.toString() + ".jpg"; 
i.putExtra(Intent.EXTRA_STREAM,Uri.parse(sendfilepath)) ; 
i.setType("image/jpeg"); 

它與我的索尼設備。彈出菜單顯示消息應用程序以及其他應用程序。 但與HTC它不顯示消息應用程序。它顯示了藍牙,Facebook,郵件等。我如何讓它顯示在「完成操作使用」列表中的消息應用程序

回答

0

您可以使用此技術來檢查HTC感應設備並作出適當的反應,以發送適當的「版本「的意圖。

Uri uri = Uri.fromFile(imgFile); 
//HTC Sense intent 
Intent sendIntent = new Intent("android.intent.action.SEND_MSG"); 
sendIntent.putExtra(Intent.EXTRA_STREAM, uri); 
sendIntent.setType("image/"+type); 
List<ResolveInfo> resolves = getPackageManager().queryIntentActivities(sendIntent,PackageManager.MATCH_DEFAULT_ONLY); 
if (resolves.size() > 0) { 
    // This branch is followed only for HTC 
    startActivity(sendIntent); 
} else { 
    // Else launch the non-HTC sense Intent 
    sendIntent = new Intent(Intent.ACTION_SEND); 
    sendIntent.putExtra(Intent.EXTRA_STREAM, uri); 
    sendIntent.setType("image/"+type); 
    startActivity(Intent.createChooser(sendIntent,"Send")); 
} 
+0

它打開消息應用程序,但它不附加圖像。你的意思是「+」是什麼意思?我把(image/jpeg)錯了嗎? – yasserbn 2012-07-23 22:01:08

+0

它將是你的圖像的任何類型的文件,在我的應用程序中,我有一些不同類型的圖像(PNG,JPEG等),所以我不得不做出動態。如果你只有jpegs,那麼你應該可以使用''image/jpeg''' – FoamyGuy 2012-07-24 00:37:42