Я использую широковещательный приемник для диспетчера аварийных сигналов для отправки сообщения на устройство. Для этого я написал класс Broad Cast Receiver. И также я хочу отобразить диалог оповещений в методе получения. Для этого широковещательный приемник выглядит следующим образом. И я включаю диалог оповещений в Broad Cast Receiver.Alert Dialog не работает в широковещательном ресивере
public class AlarmReciever extends BroadcastReceiver
{
@Override
public void onReceive(Context context, Intent intent)
{
String phoneNumberReciver="5556";
String message="Happy Birthday My dear Friend";
SmsManager sms = SmsManager.getDefault();
sms.sendTextMessage(phoneNumberReciver, null, message, null, null);
Toast.makeText(context, "Alarm fired and SMS Sent", Toast.LENGTH_LONG).show();
AlertDialog.Builder builder1 = new AlertDialog.Builder(context);
builder1.setMessage("message delivered");
builder1.setCancelable(true);
builder1.setPositiveButton("Yes",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
dialog.cancel();
}
});
builder1.setNegativeButton("No",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
dialog.cancel();
}
});
AlertDialog alert11 = builder1.create();
alert11.show();
}
}
И я звоню вещательный приемник от деятельности
Long time = new GregorianCalendar().getTimeInMillis()+00*00*03*1000;
Intent intentAlarm = new Intent(this, AlarmReciever.class);
AlarmManager alarmManager = (AlarmManager) getSystemService(Context.ALARM_SERVICE); alarmManager.set(AlarmManager.RTC_WAKEUP,time, PendingIntent.getBroadcast(this,1, intentAlarm, PendingIntent.FLAG_UPDATE_CURRENT));
И я получаю ошибку в классе литой приемники Broad в линии
alert1.show()
http://stackoverflow.com/a/3835524/1937802 поиск –
Вы можете попробовать использовать обработчик в onRecieve и создать диалог в обработчик –