不希望选择发送mms`

时间:2012-06-11 10:46:06

标签: android android-intent mms

我的申请中有一项要求,我必须点击按钮发送彩信。当我点击按钮时,它会提示选择使用哪个应用程序来完成电子邮件或消息传递操作。我希望它默认打开消息。我搜索了很多,但没有得到任何答案。下面,我发布了我的代码:

public class MMSActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    Button mms = (Button)findViewById(R.id.mms);
    mms.setOnClickListener(new View.OnClickListener() {

        public void onClick(View v) {
            // TODO Auto-generated method stub
            sendMMS();
        }
    });
}

public void sendMMS() {
    Intent in = new Intent(Intent.ACTION_SEND);
    in.putExtra("sms_body", "some text");
    in.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(new File(Environment.getExternalStorageDirectory()
            .getAbsolutePath().toString()+"/diplomat/ALEXANDRA-1339242345022.jpg")));
    in.setType("image/jpeg");
    startActivity(in);
    Log.d("MMS", "SendMMS called");
}
}

我甚至尝试将类设置为android.telephony.SmsMessage,但它没有用。

2 个答案:

答案 0 :(得分:1)

  

我希望它默认打开消息

首先,目前还不清楚你认为“消息”是什么。我将假设您的意思是Android开源项目(AOSP)MMS客户端。

其次,许多设备没有这个应用程序。欢迎设备制造商使用他们希望的任何MMS客户端,这可能是也可能不是AOSP客户端。

第三,欢迎用户安装和使用他们从Play商店或其他地方获得的自己的SMS / MMS客户端。通过说用户不应该在这个问题上做出选择,你说你比用户更重要。您的用户往往不同意。

请允许您的用户使用他们想要的任何MMS客户端,以及至少一个实际存在的客户端。

答案 1 :(得分:0)

如果您要发送图片。

Intent sendIntent = new Intent(Intent.ACTION_SEND); 
        sendIntent.setClassName("com.android.mms", "com.android.mms.ui.ComposeMessageActivity");
        sendIntent.putExtra("sms_body", "some text"); 
        sendIntent.putExtra(Intent.EXTRA_STREAM, Uri.parse("file:///sdcard/image_4.png"));
        sendIntent.setType("image/png");
        startActivity(sendIntent);;