java - 针对不同设备的不同启动器活动
问题描述
我有一个应用程序需要在手持设备和平板电脑/信息亭等上运行。就设计而言,它很容易维护,但现在我有两个不同的逻辑,需要在不同的设备上使用不同的入口点。以下是我的要求。
- 如果是电话,我想显示登录/注册屏幕,然后在登录/注册后将进入主屏幕
- 如果它不是电话(我的意思是如果它是平板电脑/信息亭),它将直接进入主屏幕。
我怎样才能做到这一点?我从这个线程中获得了一些想法。但它太旧了。有没有可靠的提前方法来做我需要的。
请不要标记为副本,也不要关闭它,因为我要求新的方法来做到这一点。这样新手就可以在一个线程上轻松获得它。
解决方案
不同设备上的不同启动器没有这样的选项,但是您始终可以在一个(并且唯一?)laucher(onCreate
方法)中检查您需要什么,并在需要时立即启动“main”Activity
并完成当前“登录”
编辑:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if(checkIfTablet()) {
startActivity(new Intent(this, MainActivity.class));
finish;
return;
}
// rest of code
}
推荐阅读
- excel - 如何遍历高级筛选器中的条件?
- testing - 西葫芦 - 运行测试的问题
- kubernetes - 在 kubernetes 中使用 RDS 而不是 mysql 容器
- c# - 当没有检查的异常时如何在 C# 中预测异常
- c# - String.Format 为相同的代码返回不同的枚举值。如果我在枚举中添加超过 45 个字段
- wordpress - 我想更改礼品卡文字我应该如何覆盖它
- java - Spring boot项目如何保存DB用户名和密码
- javascript - awaitMessages 在我运行它时没有接受我的输入。我正在尝试使用 node.js 和 discord.js 制作一个不和谐的机器人
- php - Laravel 5.5:将 url 添加到 json 对象以保存多张图片
- java - Selenium chrome 驱动程序:不能使用带有 chrome 驱动程序 74 的无头模式