アクティビティのない IME サービス (オンスクリーン キーボード) からポップアップ ウィンドウを表示しようとしています。popUp.showAtLocation(layout, Gravity.CENTER, 0, -100) を呼び出すと、「Windowmanager$BadTokenException: ウィンドウを追加できません -- トークン null が無効です」というメッセージが表示されます。アクティビティが関連付けられていないサービスからポップアップ ウィンドウを開くのは少し珍しいことだと思いますが、可能ですか?
これが私のコードです:
public void initiatePopupWindow()
{
try {
LayoutInflater inflater = (LayoutInflater) this.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View layout = inflater.inflate(R.layout.popup_layout,null);
// create a 300px width and 470px height PopupWindow
popUp = new PopupWindow(layout, 300, 470, true);
popUp.showAtLocation(layout, Gravity.CENTER, 0, -100);
Button cancelButton = (Button) layout.findViewById(R.id.popup_cancel_button);
cancelButton.setOnClickListener(inputView.cancel_button_click_listener);
} catch (Exception e) {
e.printStackTrace();
}
}
どんな助けでも大歓迎です。ありがとうございました