Android: Как отправить голос в виде вложения MMS? - PullRequest
1 голос
/ 25 февраля 2012

Я уже сделал запись голоса по этому коду:

recorder = new MediaRecorder();
        recorder.setAudioSource(MediaRecorder.AudioSource.MIC);
        recorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
        recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
        recorder.setOutputFile(Environment
                .getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS)
                +"test.3gp");
        try {
            recorder.prepare();
        } catch (IOException io) {

            Toast.makeText(getApplicationContext(), "Record File", Toast.LENGTH_LONG).show();

        }
        recorder.start();

и пытается поделиться им с помощью намерения поделиться следующим образом:

Intent sharingIntent = new Intent(android.content.Intent.ACTION_SEND);

        sharingIntent.setType("video/3gp");

            sharingIntent.putExtra(Intent.EXTRA_STREAM, "file:///sdcard/Downloadtest.3gp");

        startActivity(Intent.createChooser(sharingIntent, "Share via"));

но когда моя почта настроена, она отправляется по электронной почте, но я хочу поделиться ей vaia mms? его привязывают в ммс? как это сделать?

Ответы [ 2 ]

4 голосов
/ 01 января 2013

Вы можете попробовать это в моем случае, если он отлично работает.

Intent sendIntent = new Intent(Intent.ACTION_SEND); 
                sendIntent.setClassName("com.android.mms", "com.android.mms.ui.ComposeMessageActivity");
                sendIntent.putExtra("address", "9999999999");
                sendIntent.putExtra("sms_body", "if you are sending text");   
                final File file1 = new File(Environment.getExternalStorageDirectory().getAbsolutePath(),"Downloadtest.3gp");
                Uri uri = Uri.fromFile(file1);
                Log.e("Path", "" + uri);
                sendIntent.putExtra(Intent.EXTRA_STREAM, uri);
                sendIntent.setType("video/3gp");
                startActivity(sendIntent);

Но некоторые устройства не могут принять такие, как Htc Desire, Htc one, lava. В вашем случае все работает идеально, затем вставьте код.

0 голосов
/ 25 февраля 2012

Пожалуйста, попробуйте следующий код,

Intent sendIntent = new Intent(Intent.ACTION_SEND); 
sendIntent.putExtra("sms_body", "some text"); 
sendIntent.putExtra(Intent.EXTRA_STREAM, Uri.parse(url));
sendIntent.setType("audio/3gp"); 
...