获取Intent内的活动名称
问题描述:
我正在使用一些各种广告网络,它们都需要将自己的活动名称添加到清单中。获取Intent内的活动名称
我想知道用户何时点击它们,所以我放入了替代startActivity(Intent intent)
,但我需要检查意图对象以有条件地设置一些值。
例如,点击tap的网络,它将启动类com.ads.TapForTap
的活动。点击此按钮后,将调用startActivity(Intent intent)如何从意图获取类的名称?
感谢
答
试试下面一行的获得当前活动名称,
this.getClass().getSimpleName()
答
,如果你有下面这行应该返回要启动活动的全名:
- 开始活动的意图
- 上下文实例(因此您可以拨打
getPackageManager()
)。
String className = myIntent.resolveActivity (myContext.getPackageManager()).getClassName();
欲了解更多信息,请参阅Intent
文档resolveActivity()
。
答
您可以使用给定的意图参数的组件类名称。记住班级名称可能是空的!
+3
请注释您的答案,使其有用。我们不需要复制/粘贴解决方案。我们需要帮助提问者和读者理解解决方案。 –
我需要从一个intent对象中获取它。不是来自当前班级。这可能工作,虽然 – CQM
这没有得到活动的名称,由其名称,但不是包名称。这很好,我可以使用 – CQM