最後我找到了一個工作解決方案。對話窗口似乎在棉花糖上有自己的標誌,必須下注。我做到了,在AlertDialog這樣的:
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("My Title");
// Add other stuff for AlertDialog here
AlertDialog alertDialog = builder.create();
alertDialog.getWindow().addFlags(WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD);
alertDialog.getWindow().addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED);
alertDialog.getWindow().addFlags(WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON);
alertDialog.getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
alertDialog.show();
對於我PreferenceActivity
我不得不把EditTextPreference
爲了解決這個問題,然後在XML配置文件中使用myappname.TextPref
,而不是EditTextPreference
延伸。
class TextPref extends EditTextPreference {
public TextPref(Context context, AttributeSet attrs) {
super(context, attrs);
}
@Override
protected void showDialog(Bundle state) {
super.showDialog(state);
Dialog dialog = getDialog();
dialog.getWindow().addFlags(WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD);
dialog.getWindow().addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED);
dialog.getWindow().addFlags(WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON);
dialog.getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
}
}
完美地工作。我是否在文檔的某個地方錯過了這個地方,或者這個變化完全沒有記錄? – drk
我沒有在文檔中找到任何內容,只是嘗試過。不幸的是,Toast消息似乎有同樣的問題。然而我沒有解決方法,因爲似乎沒有辦法得到吐司之窗。 –
也許你可以嘗試使用SnackBar而不是Toast。這對你有用嗎? – drk