2010-06-02 2 views
24

Этот код работает на простых устройствах google с собственной системой Android. Но нет приложения MMS в списке Htc устройств чувств, и я не знаю, о Motorola Пятна и т.д .:Android: Есть ли универсальный способ отправки MMS на любые устройства Android?

final Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND); 
    emailIntent.setType("image/png"); 
    emailIntent.putExtra(Intent.EXTRA_STREAM, uri); 
    context.startActivity(Intent.createChooser(emailIntent, context.getString(R.string.send_intent_name))); 

Этот код работает на Htc смысле, но не от Chooser, что мне действительно нужно:

Intent sendIntent = new Intent("android.intent.action.SEND_MSG"); 
    sendIntent.putExtra(Intent.EXTRA_STREAM, uri); 
    sendIntent.setType("image/png"); 
    context.startActivity(sendIntent); 

Но я не знаю, как совместить эти кодовые образцы вместе, и я не знаю, как определить интерфейс HTC Sense программно. Правильно ли он поддерживает различные типы устройств?

Благодарим за ответы.

+3

Вы видели [этот вопрос] [1] ? В нем есть пример кода. [1]: http://stackoverflow.com/questions/2972845/i-want-send-image-through-using-mms-in-android/2973016#2973016 – EboMike

+0

@EboMike Я вижу, что вы парень, который создал EboBirthday Спасибо! это одна потрясающая программа, которая использовала ее с тех пор, как она впервые появилась. – JPM

+0

@JPM Я, спасибо JPM :) – EboMike

ответ

1

Смысл, особенно старые версии - это боль. Там контроль веб-просмотра также имеет множество проблем. В зависимости от объема сообщений вы можете попробовать воспользоваться веб-сервисом, например простой службой уведомлений amazon, для отправки sms-сообщений: http://aws.typepad.com/aws/2011/11/amazon-simple-notification-service-now-supports-sms.html Это не решение для Android, но это может сработать.

1

Вы можете обнаружить, есть ли Ответчик для HTC Intent, а затем ветви:

intent = new Intent("android.intent.action.SEND_MSG"); 
intent.putExtra(Intent.EXTRA_STREAM, uri); 
intent.setType("image/png"); 

resolves = getActivity().getPackageManager().queryIntentActivities(intent, 
     PackageManager.MATCH_DEFAULT_ONLY); 

if (resolves.size() > 0) { 
    // This branch is followed only for HTC 
    context.startActivity(intent); 
} else { 
    // Else launch the non-HTC sense Intent 
    intent = new Intent(android.content.Intent.ACTION_SEND); 
    intent.setType("image/png"); 
    intent.putExtra(Intent.EXTRA_STREAM, uri); 
    context.startActivity(Intent.createChooser(intent, 
      context.getString(R.string.send_intent_name)));  
} 
+0

Я делаю что-то подобное ЗДЕСЬ !!! http://stackoverflow.com/questions/14452808/sending-and-receiving-mms-in-android – toobsco42

1

Вы можете использовать его как это:

Intent i = new Intent(Intent.ACTION_SEND); 
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
i.putExtra(Intent.EXTRA_EMAIL, new String[]{""}); 
i.setType("video/3gp"); 
i.putExtra(Intent.EXTRA_STREAM, Uri.parse("file://" + attachmentFilePath)); 
startActivity(i); 
Смежные вопросы