簡體   English   中英

Android對話框未顯示

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM