0

ボタンのクリックで 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 として設定しようとしましたが、うまくいきませんでした。

4

2 に答える 2

1

メッセージでデフォルトで開くようにしたい

まず、あなたが「メッセージング」とは何を考えているのかが明確ではありません。Android オープン ソース プロジェクト (AOSP) の MMS クライアントのことだと思います。

第二に、多くのデバイスにはこのアプリがありません。デバイス メーカーは、AOSP クライアントである場合もそうでない場合もある、任意の MMS クライアントを使用することができます。

第 3 に、ユーザーは、Play ストアなどから入手した独自の SMS/MMS クライアントをインストールして使用することができます。この件に関してユーザーに選択の余地はないと言うことで、あなたはユーザーよりも重要であると言っているのです。ユーザーは同意しない傾向があります。

ユーザーが希望する MMS クライアントを使用できるようにし、実際に存在するクライアントを少なくとも 1 つ使用できるようにしてください。

于 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 に答える