显示吐司WHILE对话框打开?

时间:2017-07-12 01:54:12

标签: java android xml string in-app-purchase

这是我面临的一个非常简单的问题。基本上,我正在请求运行时权限 - 但我也想在权限请求的同时显示祝酒词:

相关代码:

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秒)。

enter image description here

这是Android上的错误吗?或者是否有一些我失踪的工作?

4 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

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

答案 2 :(得分:0)

Toast消息显示的持续时间为2秒,或持续时间为3.5秒,无法更改。

如果您希望长时间显示吐司信息,则需要连续显示。

for (int i=0; i < 5; i++){
    Toast.makeText(this, "Your toast message", Toast.LENGTH_SHORT).show();
}

它将显示你的吐司10秒钟。

希望有所帮助:)

答案 3 :(得分:0)

尝试将上下文设为

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