将getCallingActivity的活动与另一个活动进行比较
我想将调用活动与其他人进行比较,以了解哪个人称为当前活动。我想:将getCallingActivity的活动与另一个活动进行比较
getCallingActivity().getClassName().toString().equals(MainActivity.class.toString())
它不通过呼叫意图传递价值的工作,但,我们如何能够比较使用getCallingActivity()
或getCallingPackage()
类?
如果活动是从其他活动的结果开始的,则可以按以下方式比较调用活动。
if (getCallingActivity().getClassName().equals(MainActivity.class.getName())) {
/* here the main activity is calling activity*/
}else{
/*other activity is calling activity*/
}
嘿,我尝试这个逻辑,但它给了我这样的exaption:试图调用虚拟方法'java.lang.String android.content.ComponentName.getClassName()'null对象引用 – 2016-08-12 07:28:16
确实你开始活动的结果?? if(getCallingActivity()。getClassName()。equals(PlayerActivity.class.getCanonicalName())) code = 100;如果不是那么'getCallingActivity()'将返回null,这将导致空指针 – 2016-08-12 07:35:26
if else { code = isPlaylist.equals(“True”)? 100:200; } setResult(code,in); – 2016-08-12 07:36:15
你有没有想过这个? – tokudu 2014-02-13 20:34:23
嘿@JerecTheSith你是如何解决这个问题的? – 2016-08-12 07:29:55
嘿@HarinKaklotar你可能想查看一下,我不记得我在2013年是如何做到的:http://www.programcreek.com/java-api-examples/index.php?class=android.app .Activity&method = getCallingActivity – 2016-08-12 08:55:45