我想將調用活動與其他人進行比較,以瞭解哪個人稱爲當前活動。我想:將getCallingActivity的活動與另一個活動進行比較
getCallingActivity().getClassName().toString().equals(MainActivity.class.toString())
它不通過呼叫意圖傳遞價值的工作,但,我們如何能夠比較使用getCallingActivity()
或getCallingPackage()
類?
我想將調用活動與其他人進行比較,以瞭解哪個人稱爲當前活動。我想:將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