[英]Android Dialog box not showing
我正在為Android開發一個應用程序。 我有一種稱為鈴聲的方法,在滿足某些條件時會調用該方法。 我想創建一個刺耳的聲音,並創建一個對話框以消除該聲音。 我的代碼:
public void ringtone() {
AudioManager manager = (AudioManager)getSystemService(Context.AUDIO_SERVICE);
manager.setStreamVolume(AudioManager.STREAM_RING, 10, AudioManager.FLAG_SHOW_UI);
Uri notification = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);
final Ringtone r= RingtoneManager.getRingtone(getApplicationContext(), notification);
AlertDialog alertDialog = new AlertDialog.Builder(getApplicationContext()).create();
alertDialog.setTitle("We Detected You Were Asleep");
alertDialog.setMessage("WAKE UP!");
alertDialog.setButton(AlertDialog.BUTTON_NEUTRAL, "I am Awake", new DialogInterface.OnClickListener()
{
public void onClick(DialogInterface dialog, int which)
{
dialog.dismiss();
r.stop();
}
});
r.play();
alertDialog.show();
}
當我運行我的應用程序時,鈴聲音量會發生變化,但鈴聲不會播放。 但是,當我注釋掉對話框生成器時,鈴聲會響起。 因此,我的結論是,對話框生成器中存在錯誤,無法繼續執行代碼。
我想知道自己幾次:我的對話框顯示在當前不在屏幕上的活動中。
解決方案:您需要使用活動的上下文來創建構建器,對話框應與之一起顯示。
我已經用另一個活動(共享的主要活動)的上下文創建了構建器,這是錯誤的。
現在,您可能需要創建並顯示一個半透明的活動,並在其中顯示對話框。 創建透明活動只是清單文件中的一些設置。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.