Java 对话框打开时是否显示toast?

Java 对话框打开时是否显示toast?,java,android,xml,string,in-app-purchase,Java,Android,Xml,String,In App Purchase,这是我面临的一个极其简单的问题。基本上,我请求的是运行时权限,但我还希望在请求权限的同时显示祝酒词: 相关代码: if ((ActivityCompat.checkSelfPermission(MainActivity.this, Manifest.permission.RECORD_AUDIO) != PackageManager.PERMISSION_GRANTED || ActivityCompat.checkSelf

这是我面临的一个极其简单的问题。基本上,我请求的是运行时权限,但我还希望在请求权限的同时显示祝酒词:

相关代码:

if ((ActivityCompat.checkSelfPermission(MainActivity.this, Manifest.permission.RECORD_AUDIO) != PackageManager.PERMISSION_GRANTED
                                    || ActivityCompat.checkSelfPermission(MainActivity.this, Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED)) {
                                ActivityCompat.requestPermissions(MainActivity.this, new String[]{


                                        Manifest.permission.RECORD_AUDIO,
                                        Manifest.permission.WRITE_EXTERNAL_STORAGE}, 4);

                                Toast.makeText(MainActivity.this, "You must enable BOTH", Toast.LENGTH_LONG).show();
问题是,权限对话框一出现,土司就会很快消失(可能不到0.5秒)


这是安卓上的一个bug吗?还是有一些我遗漏的工作?

祝酒词不会永久显示。祝酒词的整个概念是,它会弹出然后消失。如果你想要更持久的东西,你必须自己实现它。

这是android中权限的默认对话框,因此没有解决方案。是的,但是如果你创建了自定义对话框,那么你可以在你想要的地方显示它。

Toast消息显示时间短2秒,或长3.5秒,不能更改

如果您希望长时间显示toast消息,则需要连续显示

for (int i=0; i < 5; i++){
    Toast.makeText(this, "Your toast message", Toast.LENGTH_SHORT).show();
}
for(int i=0;i<5;i++){
Toast.makeText(这是“您的Toast消息”,Toast.LENGTH_SHORT).show();
}
它将显示您的祝酒词10秒钟


希望它能有所帮助:)

试着把上下文变成

Toast.makeText(getApplicationContext(),"YOUR TEXT",Toast.LENGTH_LONG).show();

我知道,从我记事起,我就一直在使用toast:)这里的问题是,系统自己的对话框干扰了我的toast,在权限对话框出现时,它就会突然消失。