Me pregunto si alguien puede ayudarme. Estoy tratando de mostrar un elemento de brindis cuando se recibe un SMS. Este pan tostado debe contener una disposición que tiene una imagen (SMS Icono) y 2 textviews (emisor, mensaje)Show Complex Toast de BroadcastReceiver
Si llamo al siguiente método de una actividad, que funciona como se espera ...
public void showToast(Context context, String name, String message) {
LayoutInflater inflater = getLayoutInflater();
View layout = inflater.inflate(R.layout.toast_sms,
(ViewGroup) findViewById(R.id.toast_sms_root));
TextView text = (TextView) layout.findViewById(R.id.toastsms_text);
text.setText(message);
Toast toast = new Toast(getApplicationContext());
toast.setGravity(Gravity.CENTER_VERTICAL, 0, 0);
toast.setDuration(Toast.LENGTH_LONG);
toast.setView(layout);
toast.show();
}
Sin embargo, si trato de llamar el mismo código de la misma manera SMSReceiver de mi, me sale:
The method getLayoutInflater() is undefined for the type SmsReceiver
The method findViewById(int) is undefined for the type SmsReceiver
The method getApplicationContext() is undefined for the type SmsReceiver
puede alguien aconsejar por favor cómo puedo hacer tihs de una intención. Supongo que el problema está de alguna manera relacionado con el cross-threading, sin embargo, no estoy seguro de cómo proceder. He visto un par de ejemplos en línea pero parece que o bien utilice el código obsoleto o sólo muestran texto simple
Por favor alguien puede apuntar en la dirección correcta
Muchas gracias
algún motivo/crítica constructiva para el downvote? – Basic