我创建了一个主屏幕启动器风格的应用程序:当主屏幕活动启动时,会启动一个计时器,在结束时我想要一个不同的布局显示告诉你“你已经超时!请稍候在玩更多游戏前x分钟!“
我已经在一个Activity中多次使用setContentView()
方法实现了这一目标,但是代码变得混乱且非常不稳定。将Timed Out屏幕与完全不同的Activity相关联会好得多。这样做的问题是,如果你超时,你可以按主页按钮跳过超时并返回主屏幕。
以下是我用于设置主屏幕活动的代码:
ComponentName secComponent = new ComponentName(HomeScreen.class.getPackage().getName(), HomeScreen.class.getName());
mPackageManager.setComponentEnabledSetting(secComponent, Constants.mPackageManager.COMPONENT_ENABLED_STATE_ENABLED, PackageManager.DONT_KILL_APP);
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_HOME);
intent.addFlags(Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS);
startActivity(intent);
因此,在上述情况下,HomeScreen.class将被设置为主屏幕活动,但由于我的应用程序正在替换主屏幕,是否有一种简单的方法可以从HomeScreen.class切换到我的内部不同的Activity应用程序,而无需请求用户权限(在这种情况下,您可以解除超时)?
答案 0 :(得分:0)
看起来在这些事情之间切换的唯一方法是进行单一活动并多次小心使用setContentView()
。