草庐IT

Android的悬浮窗加上FLAG_SHOW_WHEN_LOCKED失效

我的应用程序在锁定屏幕前向用户显示一个对话框。这是一个包含DialogFragments的简单Activity(来自支持库,因为此应用程序在2.2+上运行)。由于显示这些对话框的实际Activity不是Android标准的float窗口,getWindow().addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED);工作正常。但是,我想我应该改用看起来像对话框的Activity。不过,所有Dialog主题(Holo等)都有这个项目:true由于某种原因,这导致窗口标志被完全忽略。有趣的是,Activity在用户解锁屏幕后显示

android - 测试 Activity 是否已使用 FLAG_ACTIVITY_CLEAR_TOP 启动

Robolectric允许使用shadowOf(activity).peekNextStartedActivity()测试Activity是否已启动。但是,如果Activity以FLAG_ACTIVITY_CLEAR_TOP启动,则此方法似乎不起作用。这是直观的,因为此标志的目的不是启动新的Activity,而是将后台堆栈中的现有Activity移到前台。有什么方法可以测试这种情况吗?更新我的测试场景如下:涉及3个Activity,我们称它们为A,B和C。被测Activity是B,它是由A启动的。B现在启动C获取结果,当收到结果时使用FLAG_ACTIVITY_CLEAR_TOP标志。

android - 对话框 FLAG_DIM_BEHIND 不适用于 Android 5.x (Lollipop)

我使用这段代码使DialogFragment的背景变暗:Windowwindow=getDialog().getWindow();WindowManager.LayoutParamswindowParams=window.getAttributes();windowParams.dimAmount=0.75f;windowParams.flags|=WindowManager.LayoutParams.FLAG_DIM_BEHIND;window.setAttributes(windowParams);这在Kitkat及以下版本上运行良好,但在Lollipop上停止运行。我怀疑这与我的

android - FLAG_ACTIVITY_CLEAR_TOP 调用 onCreate() 而不是 onResume()

所以我有一个扩展到整个应用程序的抽象类,它覆盖后退键以将ActivityA重新排序到前面(带有标志)。所以,它会是:A>B>任何地方,返回键应该带我回到A我正在使用FLAG_ACTIVITY_CLEAR_TOP,但出于某种原因它完全刷新了A,我不希望这样。因此:Flag_activity_clear_top正在重新加载onCreate()而不是onResume()。给了什么? 最佳答案 如果您希望Activity在不重新启动的情况下被带到顶部,请设置launchModelist中的singleTopActivity。您将接到电话on

android - 对 PendingIntent.FLAG_CANCEL_CURRENT 文档的澄清

来自documentationofPendingIntentFLAG_CANCEL_CURRENT在安卓中:bycancelingthepreviouspendingintent,thisensuresthatonlyentitiesgiventhenewdatawillbeabletolaunchit.Ifthisassuranceisnotanissue,considerFLAG_UPDATE_CURRENT谁能解释一下这行是什么意思? 最佳答案 一旦您使用FLAG_CANCEL_CURRENT创建了一个新的PendingInt

android - 显示 DialogFragment 时保持沉浸式模式

我有一个使用fragment制作的Android应用程序我使用以下代码隐藏屏幕顶部和底部的栏。@OverrideprotectedvoidonResume(){super.onResume();isInBackground=false;if(null==getFragmentManager().findFragmentById(R.id.content_container)){getFragmentManager().beginTransaction().add(R.id.content_container,newPresenterFragment(),PresenterFragmen

android - "FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS"影响 getRootView().getHeight()

我在尝试为状态栏添加颜色时发现了影响相对布局高度的问题。addingFlag影响相对布局rootView高度的计算。privatevoidchangeStatusBarColor(){if(Build.VERSION.SDK_INT>=Build.VERSION_CODES.LOLLIPOP){Windowwindow=getWindow();window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);window.setStatusBarColor(getResources().getCo

关于Android SystemUI Flag详解及使用情景

造成SystemUIFlag被系统自动清除的几种情况触摸屏幕任何位置顶部下拉状态栏底部上拉导航栏Window的变化(如:跳转到其他界面、弹出键盘等)SystemUIFlag相关特性详解View.SYSTEM_UI_FLAG_HIDE_NAVIGATION:(>=api16)作用是隐藏系统NavigationBar。但是用户的任何交互,都会导致此Flag被系统清除,进而导航栏自动重新显示,同时View.SYSTEM_UI_FLAG_FULLSCREEN也会被自动清除,因此StatusBar也会同时显示出来。View.SYSTEM_UI_FLAG_FULLSCREEN:(>=api16)作用是隐藏

android - Intent.FLAG_ACTIVITY_NEW_TASK | 如何避免黑屏Intent.FLAG_ACTIVITY_CLEAR_TASK 设置了吗?

在我的android应用程序中,我需要使用Intent.FLAG_ACTIVITY_NEW_TASK|Intent.FLAG_ACTIVITY_CLEAR_TASK设置我的Intent标志。我可以删除我以前的所有Activities并开始一个新的Activity以这种方式。这是我的代码如下:Intentintent=newIntent(Gerenxinxi.this,MainPart.class);intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK|Intent.FLAG_ACTIVITY_CLEAR_TASK);startActivity(in

android - 设置 FLAG_ACTIVITY_CLEAR_TASK 后如何避免 startActivity 黑屏?

我正在使用以下内容发起一项新Activity:Intentintent=newIntent(this,MyNewActivity.class);intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK|Intent.FLAG_ACTIVITY_NEW_TASK);startActivity(intent);overridePendingTransition(0,0);当MyNewActivity启动时,显示黑屏。如果我删除Intent.FLAG_ACTIVITY_CLEAR_TASK,Activity启动时不会随时显示黑屏(相反,加载新Activi