Start sms Activity @ ConversarionList.class из моего собственного приложения

Я провел исследование и обнаружил, что многие люди запускают приложение sms из намерения. Дело в том, что люди обычно делают это только для исходящих сообщений.

В настоящее время я показываю Unread Sms Count на моем приложении, но это швы, я не могу получить правильное намерение работать.

При каждой попытке я получаю тот же результат, он запускает приложение, но для нового sms …

Мое текущее намерение выглядит так

Intent intent = new Intent(Intent.ACTION_VIEW); intent.setData(Uri.parse("sms:")); startActivity(intent); 

И это результат:

Android sms Форма заявки http://img291.imageshack.us/img291/1330/22012196.png

  • EDIT: Para -> To
  • Escribir mensaje -> Написать сообщение
  • Enviar -> Отправить

Надеюсь, я достаточно ясно знаю об этом.

Вопрос в том:

Как я могу перейти в папку «Входящие» приложения sms на андроид через Intent?


EDIT: Я просто хочу воспроизвести это:

 startActivity(new Intent(this, ConversationList.class)); 

Я взял с: http://www.google.com/codesearch/p?hl=ru#dpDz7Q08o9c/src/com/android/mms/ui/ComposeMessageActivity.java @LINE: 2028

В моем приложении. Но я не могу заставить его работать.

Что такое SetClassName?

Чтобы запустить класс, расположенный за пределами текущего приложения, нам нужно объявить что-то вроде «Полный путь» к нему …

Чтобы открыть стандартное sms-приложение @ConversationList, нам нужно сделать следующее:

 Intent intent = new Intent(Intent.ACTION_MAIN); intent.addCategory(Intent.CATEGORY_LAUNCHER); intent.setClassName("com.android.mms", "com.android.mms.ui.ConversationList"); 

Источник:

  1. Во-первых, просмотрите различные варианты намерения и ранчо. Вы можете увидеть мой ответ на аналогичный вопрос . Ваш код вызовет что-то с помощью StartActivityForResult (). Это сложный вопрос.

  2. Если вам повезет, вы можете найти INTENT из приложения обмена сообщениями для статуса. Вероятно, вы этого не сделаете, так как нет гарантии, что телефон будет использовать систему по умолчанию. В конце концов, когда получено SMS-сообщение, оно помещается в некоторую базу данных сообщений и является «новым» только в соответствии с логикой приложений обмена сообщениями. Из-за соображений безопасности эта база данных не используется. Вы можете прокомментировать этот запрос функции .

  3. Вы можете написать свое собственное приложение, которое захватывает намерение «нового SMS» и, возможно, отправит его вперед. См. Этот несколько старый учебник .

Удачи! Сообщите нам, если вы достигнете прогресса.

Intent smsIntent = новое намерение (Intent.ACTION_VIEW);

smsIntent.setType ( "vnd.android-Dir / MMS-SMS");

SmsIntent.putExtra («адрес», «12125551212»);

SmsIntent.putExtra ("sms_body", "Тело сообщения");

startActivity (smsIntent);