如何禁用本机Toast消息

时间:2016-04-06 03:11:18

标签: android android-toast rom

我正在创建一个实现远程的应用程序。遥控器上的其中一个按钮可以上下调节音量。我在遥控器上有这个按钮做了一些不同的事情,因为在我的应用程序中调整音量是无关紧要的。所以,我的问题是:

是否可以在应用程序本身或设备的固件中禁用本机Toast消息。我正在将我的应用程序构建到自定义ROM中,因此我应该可以完全访问toast消息吗?

谢谢大家! The exact thing I am trying to override

6 个答案:

答案 0 :(得分:2)

看一下AudioManager-> FLAG_SHOW_UI 如果你不想显示本地吐司,请不要使用此标志。 adjustStreamVolume的示例

 AudioManager audio = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
 audio.adjustStreamVolume(AudioManager.STREAM_MUSIC, AudioManager.ADJUST_SAME, flags); 

编辑: 您还可以收听硬音量按钮操作

 @Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    if ((keyCode == KeyEvent.KEYCODE_VOLUME_DOWN)){
        //set Volume without toast flag
    }
    return true;
}

答案 1 :(得分:1)

你说你正在构建自定义ROM的应用程序,所以我建议你看看: http://grepcode.com/file/repository.grepcode.com/java/ext/com.google.android/android/5.1.1_r1/android/media/AudioManager.java#AudioManager.handleKeyDown%28android.view.KeyEvent%2Cint%29

我相信在你的ROM中修补这个功能(例如清空它的身体)可以摆脱所有的吐司。

答案 2 :(得分:0)

是的..你可以自定义

 Toast customToast = new Toast(getBaseContext());
 customToast = Toast.makeText(getBaseContext(), val, Toast.LENGTH_LONG);
 customToast.setGravity(Gravity.CENTER | Gravity.CENTER, 0, 0);
 customToast.show();

答案 3 :(得分:0)

要覆盖toast消息,弹出窗口可以像这样使用:

Toast mToast = Toast.makeText( this  , "" , Toast.LENGTH_SHORT );
switch(id)

 {
 case 0:
       mToast.setText( "Volume UP" );
       mToast.setGravity(Gravity.TOP | Gravity.TOP, 0, 0);
       mToast.show();
           break;
 case 1:
      mToast.setText( "Stop" );
      mToast.setGravity(Gravity.CENTER | Gravity.CENTER, 0, 0);
      mToast.show();
           break;
 case 2:
      mToast.setText( "Volume Down" );
      mToast.setGravity(Gravity.END | Gravity.END, 0, 0);
      mToast.show();
           break;
        } 
  }
}); 

答案 4 :(得分:0)

Toast CustomToast = new Toast(getBaseContext());

CustomToast = Toast.makeText(getBaseContext(), val, Toast.LENGTH_LONG);

CustomToast.setGravity(Gravity.CENTER | Gravity.CENTER, 0, 0);

CustomToast.show();

答案 5 :(得分:0)

根据同一here对谷歌小组的讨论,你不能。

是的,您可以使用辅助功能服务来检测吐司,但绝对不能阻止它们。

希望这是有道理的。