当说“应用程序快捷方式”时,我的意思是: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 后,我的应用调用 rest webservice 从我的服务器获取访问令牌,然后它启动 MainActivity 并将访问令牌传递给它。还 FirebaseAuth.AuthStateListener
用于处理应用程序启动时的自动登录(直到用户注销),而不要求提供任何凭据。MainActivity 也有一些流程,它执行一些操作,然后它允许从导航抽屉菜单中选择要显示的内容。用户需要执行一些操作,这取决于应用程序是否首次启动(强制从列表中选择城市,从后端加载城市列表)。
现在我需要开发具有以下意图的静态应用程序快捷方式:
- 事件列表(这是默认行为,如果没有选择城市,则在用户登录并选择城市后 - 第一次运行,或从之前使用的城市加载数据)
- 消息列表 - 用户需要选择相应的菜单选项来加载消息列表(它会导致 rest webservice 调用来加载消息)
我被卡住了,因为我不知道如何实现意图以保留所有必需的步骤。我不能只声明启动 MainActivity 的意图,它不会起作用,因为这将导致立即启动 MainActivity,无需任何初始化,获取访问令牌等。
有小费吗?