0

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

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 但它没有用。

4

2 回答 2

1

我希望它默认通过消息打开

首先,不清楚您认为“消息传递”是什么。我假设您指的是 Android 开源项目 (AOSP) MMS 客户端。

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

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

请允许您的用户使用他们希望使用的任何 MMS 客户端,并且至少有一个实际存在的客户端。

于 2012-06-11T11:32:46.730 回答
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);; 
于 2013-01-12T05:12:22.343 回答