簡體   English   中英

Android:帶有聲音文件的警報對話框

[英]Android : Alert dialog with sound file

在進入活動之前,我有一個彈出的警報對話框。 這是一個警報對話框,上面的復選框Don't Show this again 我添加了一個可讀取所有條款的mp3文件。 我嘗試了所有可能的方法,但沒有成功。 這就是我想要做的。

  1. 單擊I Agree按鈕時,它應停止播放聲音文件。

  2. 當用戶單擊“不再顯示此復選框”時,再次進入活動后不應播放聲音。

每個線索都將被深深地運用。 提前thnx。

   }

    @Override
    protected void onResume() {
        AlertDialog.Builder warning1 =     new AlertDialog.Builder(this);
        LayoutInflater warning1Inflater =     LayoutInflater.from(this);
        View myLayout = warning1Inflater.inflate(R.layout.warning_layout, null);
        final CheckBox dontShowAgain = (CheckBox) myLayout.findViewById(R.id.skip);
         warning1 .setCancelable(false); 
         warning1 .setView(myLayout);
         warning1 .setTitle("Warning!");


        MediaPlayer mp = MediaPlayer.create(StartDialog.this,R.raw.terms);
        mp.start();


   warning1 .setIcon(R.drawable.alert1);
         warning1 .setPositiveButton("I Agree", new DialogInterface.OnClickListener() {
                public void onClick(DialogInterface dialog, int which) {
                    String checkBoxResult = "NOT checked";
                    if (dontShowAgain.isChecked())
                        checkBoxResult = "checked";
                        String PREFS_NAME = null;
                        SharedPreferences settings =     getSharedPreferences(PREFS_NAME, 0);
                        SharedPreferences.Editor editor = settings.edit();
                    editor.putString("skipMessage", checkBoxResult);

                    editor.commit();

    MediaPlayer mp = MediaPlayer.create(StartDialog.this,R.raw.terms);
        mp.stop();


      return;

                }
            });


            String PREFS_NAME = null;
            SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);
            String skipMessage = settings.getString("skipMessage", "NOT checked");
        if (!skipMessage.equals("checked"))
             warning1 .show();

        super.onResume();

您應該實現這一點。

dontShowAgain.setOnCheckedChangeListener(new OnCheckedChangeListener() {

        @Override
        public void onCheckedChanged(CompoundButton buttonView,
                boolean isChecked) {
            // TODO Auto-generated method stub
            switch (buttonView.getId()) {
            case R.id.checkBox:
                checkBoxResult = "checked";
                String PREFS_NAME = "";
                SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);
                SharedPreferences.Editor editor = settings.edit();
                editor.putString("skipMessage", checkBoxResult);
                editor.commit();
                break;
            }
        }
    });

然后單擊“ OK按鈕,您必須關閉“ Dialog

現在您可以通過

  SharedPreferences sp = getSharedPreferences("PREFS_NAME", 0);

  boolean hasBeenChecked = sp.getBoolean("skipMessage", false);
  if (!hasBeenChecked) {
                show your dialog here
  } else {
                // do your stuff here
  }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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