你好,我正在开发一个应用程序,有两种类型的用户:管理员和普通用户;管理员显然比普通用户拥有更多的操作,因此我需要使用动态快捷方式,根据用户创建快捷方式。
目前,所有的代码已经编写完毕并且可以正常工作。然而,在分配Intent
时,即使是分配到MainActivity
,我也会收到错误提示。
Intent intent = new Intent();
intent.setComponent(new ComponentName("com.motusk.Monit", "com.motusk.Monit.activity.MainActivity"));
shortcut.add(new ShortcutInfo.Builder(this, "ub")
.setShortLabel("Location")
.setLongLabel("Location")
.setIcon(Icon.createWithResource(this, R.drawable.bg))
.setIntent(intent)
.build());
我也尝试过以下方法:
Intent intent = new Intent(this, MainActivity.class);
但是,我在两个地方都遇到了以下错误:
java.lang.RuntimeException: 无法启动活动 ComponentInfo{com.motusk.Monit/com.motusk.Monit.activity.MainActivity}:java.lang.NullPointerException:意图的操作必须设置
我需要帮助的是:
1)如何创建正确的 Intent
到 MainActivity
?
2)如何知道按下了哪个快捷方式?(依靠按下的快捷方式打开特定的 Fragment
的过程将在 MainActivity
中执行,这就是为什么我需要知道按下了哪个快捷方式。)