@OM1

AsyncTask. getBroadcast: как использовать requestCode?

Привет!
В асинхронном классе имеем:

Intent sentIn = new Intent(SENT_SMS_FLAG);
//Вот тут передать id:
final PendingIntent sentPIn = PendingIntent.getBroadcast(getApplicationContext(), id, sentIn, 0);


В основном классе:

BroadcastReceiver sentReceiver = new BroadcastReceiver() {
        @Override
        public void onReceive(Context c, Intent in) {

            //Вот тут вот как узнать id???

            switch (getResultCode()) {
                case Activity.RESULT_OK:
                    // sent SMS message successfully;
                    Toast toast = Toast.makeText(getApplicationContext(),"Сообщение отправлено!", Toast.LENGTH_SHORT);
                    toast.show();
                    break;
                default:
                    // sent SMS message failed
                    break;
            }
        }
    };

smsManager.sendTextMessage(f[number], null, "text", sentPIn, deliverPIn);


Как понять из какого потока пришел BroadcastReceiver sentReceiver?
Или как использовать requestCode при срабатывании намерения?

PendingIntent getBroadcast (Context context,  int requestCode,  Intent intent,  int flags)
  • Вопрос задан
  • 193 просмотра
Пригласить эксперта
Ответы на вопрос 1
@mitekgrishkin
Так можно же засунуть в Intent, в который вы передаете:
Intent sentIn = new Intent(SENT_SMS_FLAG);
sentIn.putExtra("REQUEST_CODE", requestCode);
final PendingIntent sentPIn = PendingIntent.getBroadcast(getApplicationContext(), id, sentIn, 0);

Потом дергаете из интента в ресивере.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы