在做项目中发现一个问题,就是在应用中点击出现dialog 然后唤起文件管理器,然后播放视频后,回到原应用后同样的点击 dialog 不显示,但是实际已经出现在屏幕上,只是看不到,dialog里面的按钮事件都存在。
解决方案
添加如下两个权限。
<uses-permission android:name="android.permission.SYSTEM_OVERLAY_WINDOW" /> <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
AlertDialog dialog;
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setIcon(R.drawable.ic_launcher);
builder.setTitle("请选择共享模式");
final String[] item = {"主屏共享", "文件共享"};
builder.setSingleChoiceItems(item, 0, new DialogInterface.OnClickListener()
{
@Override
public void onClick(DialogInterface dialog, int which)
{
chooseId=which;
Toast.makeText(PhoneVideoActivity.this, "项目:" + item[which], Toast.LENGTH_SHORT).show();
}
});
builder.setPositiveButton("确定", new DialogInterface.OnClickListener()
{
@Override
public void onClick(DialogInterface dialog, int which)
{
Log.e("liej", "onClick: "+which );
if(chooseId==0){
dialog.dismiss();
rtcCallManager.getVideoCallHelper().switchCamAndCap(isonCapture);
startHomeCapture();
}else if(chooseId==1){
dialog.dismiss();
startFileCapture();
}
}
});
builder.setNegativeButton("取消", new DialogInterface.OnClickListener()
{
@Override
public void onClick(DialogInterface dialog, int which)
{
isonCapture=false;
}
});
dialog=builder.create();
dialog.setCancelable(false);
dialog.getWindow().setType(WindowManager.LayoutParams.TYPE_TOAST); //添加该句话后解决。
dialog.show();