我想知道是否有人可以帮助我。我正在尝试在收到 SMS 时显示 toast 元素。这个 toast 应该包含一个布局,它有一个图像(SMS 图标)和 2 个文本视图(发件人,消息)
如果我从活动中调用以下方法,它会按预期工作......
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();
}
但是,如果我尝试从 SMSReceiver 以相同的方式调用相同的代码,我会得到:
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
有人可以建议我如何从意图中做到这一点。我认为这个问题在某种程度上与跨线程有关,但是我不确定如何继续。我在网上看过几个例子,但它们似乎要么使用不推荐使用的代码,要么只显示简单的文本
有人可以指出我正确的方向吗
非常感谢