отправить смс через приложение и появиться в приложении смс по умолчанию - PullRequest
1 голос
/ 30 августа 2011

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

Я отправляю свое SMS с помощью

private void sendSMS(String phoneNumber, String message)
{        
    String SENT = "SMS_SENT";
    String DELIVERED = "SMS_DELIVERED";

    PendingIntent sentPI = PendingIntent.getBroadcast(this, 0,
        new Intent(SENT), 0);

    PendingIntent deliveredPI = PendingIntent.getBroadcast(this, 0,
        new Intent(DELIVERED), 0);

    //---when the SMS has been sent---
    registerReceiver(new BroadcastReceiver(){
        @Override
        public void onReceive(Context arg0, Intent arg1) {
            switch (getResultCode())
            {
                case Activity.RESULT_OK:
                    Toast.makeText(getBaseContext(), "SMS Sent", Toast.LENGTH_SHORT).show();
                    break;
                default:
                    Toast.makeText(getBaseContext(), "Sending Failed.", Toast.LENGTH_SHORT).show();
                    break;
            }
            progDialog.dismiss();
            txtCustomerNumber.setText("");
            txtCustomerNumber.requestFocus();
        }
    }, new IntentFilter(SENT));

    //---when the SMS has been delivered---
    registerReceiver(new BroadcastReceiver(){
        @Override
        public void onReceive(Context arg0, Intent arg1) {
            switch (getResultCode())
            {
                case Activity.RESULT_OK:
                    Toast.makeText(getBaseContext(), "SMS delivered", 
                            Toast.LENGTH_SHORT).show();
                    break;
                case Activity.RESULT_CANCELED:
                    Toast.makeText(getBaseContext(), "SMS not delivered", 
                            Toast.LENGTH_SHORT).show();
                    break;
            }
        }
    }, new IntentFilter(DELIVERED));        

    SmsManager sms = SmsManager.getDefault();
    sms.sendTextMessage(phoneNumber, null, message, sentPI, deliveredPI);        
}

, как отобразить его черезприложение по умолчанию для смс?

1 Ответ

0 голосов
/ 30 августа 2011

как отобразить его через приложение sms по умолчанию?

Используйте ACTION_SEND вместо SmsManager и разрешите пользователю выбирать любой клиент SMS, который он хочет.Или напишите свой собственный SMS-клиент.

Универсального приложения по умолчанию для смс не существует.Каждое приложение SMS может выбрать для отслеживания отправленных элементов;если это так, то эти сообщения будут отправлены it , поскольку это единственные SMS-сообщения, о которых он узнает.Некоторые приложения SMS могут предлагать некоторый документированный и поддерживаемый API для управления отправленными элементами.Приложение Messenger, являющееся частью проекта Android с открытым исходным кодом, этого не делает.

Существует недокументированный и неподдерживаемый поставщик содержимого для приложения Messenger.Кто-то может вмешаться в эту проблему и сослаться на это.Помните, что Google только что заблокировал аналогичного недокументированного и неподдерживаемого поставщика контента Gmail .Следовательно, использование недокументированных и неподдерживаемых API-интерфейсов, подобных этому, является рискованным делом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...