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、邮件等。如何让它在“使用完成操作”列表中显示消息应用程序

4

1 回答 1

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"));
}
于 2012-07-23T21:12:37.130 回答