誰かが私を助けてくれるのだろうか。SMS を受信したときにトースト要素を表示しようとしています。このトーストには、画像 (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
誰かがインテントからどうすればよいか教えてください。この問題は何らかの形でクロススレッドに関連していると思いますが、どうすればよいかわかりません。オンラインでいくつかの例を見てきましたが、非推奨のコードを使用しているか、単純なテキストのみを表示しているようです
誰かが私を正しい方向に向けてくれますか
どうもありがとう