当说“应用程序快捷方式”时,我的意思是:https://developer.android.com/guide/topics/ui/shortcuts.html
我的应用程序具有以下流程:
- 启动 SplashActiviy 并执行一些必要的初始化(例如检查 Google Play 服务是否可用等)。
从 SplashActivity 启动 LoginActivity,如下所示:
@Override protected void onCreate(Bundle savedInstanceState) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) requestWindowFeature(Window.FEATURE_CONTENT_TRANSITIONS); super.onCreate(savedInstanceState); if(checkPlayServices()==false) { return; } if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { getWindow().setExitTransition(new Fade()); } Intent intent = new Intent(this, LoginActivity.class); ActivityOptionsCompat options = ActivityOptionsCompat.makeSceneTransitionAnimation(this); ActivityCompat.startActivity(this, intent, options.toBundle()); ActivityCompat.finishAfterTransition(this); } }
然后我的 LoginActivity 启动。 LoginActvity 通过 Firebase 处理用户登录 - 用户可以选择使用 Google、Facebook 或电子邮件登录。成功登录 Firebase 后,我的应用程序调用其余 Web 服务从我的服务器获取访问 token ,然后启动 MainActivity 并将访问 token 传递给它。还有 FirebaseAuth.AuthStateListener
用于处理应用程序启动时的自动登录(直到用户注销),而不需要任何凭据。 MainActivity 也有一些流程,它执行一些操作,然后它允许从抽屉导航菜单中选择要显示的内容。用户需要执行一些操作,这取决于应用程序是否第一次启动(强制从列表中选择城市,从后端加载城市列表)。
现在我需要开发静态应用程序快捷方式,其目的是:
- 事件列表(如果没有选择城市,这是用户登录并选择城市后的默认行为 - 首次运行,或从之前使用的城市加载数据)
- 消息列表 - 用户需要选择相应的菜单选项来加载消息列表(这会导致其余 Web 服务调用来加载消息)
我陷入困境,因为我不知道如何实现保留所有必需步骤的 Intent 。我不能只是声明启动 MainActivity 的 Intent ,它不会工作,因为这将导致立即启动 MainActivity,无需任何所需的初始化、获取访问 token 等。
有什么建议吗?
最佳答案
好的,所以我通过为每个 Intent 设置操作来管理它,然后填充操作名称来决定应该启动哪个选项。我认为这是最简单的解决方案
关于java - Android - 应用程序快捷方式的 Intent ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45453699/