我想知道如何從MAIN活動調用方法到CURRENT(打開,在屏幕上,在堆棧頂部)活動?當前活動中的調用方法
例如主要活動是ActivityA
,我打開另一個活動 - 它是ActivityB
或ActivityC
或任何其他。在ActivityA
是處理程序(或計時器),當發生什麼事情時,我想打電話給methodInActiveMethod()
。
我發現例如:
class MainActivity extends Activity
{
public void myMethod()
{
MyActivity.runMyMethod();
}
}
class MyActivity extends Activity
{
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
}
public static void runMyMethod()
{
//Run code...
}
}
而且它正常工作,但我不知道如何發送方法類似anyActivityOnTop.runMyMethod()
?
(PS:我會用代碼的答案感激)
如果你的意思是「借」的操作方法的代碼你目前活動的背景,你可以 - 有點尷尬 - 做你正在做的事情。但是如果你想在它自己的活動的上下文中運行該方法,你應該使用一個'Intent'來切換到該活動,並添加將根據Intent的參數激活該代碼路徑的邏輯。 –
但是不是'specificActiviti.method()'我想要使用像'anyActivityOnTop.method()'一樣的「UNIVERSAL」調用,並且我問我如何實現這個 – droid
不合作地確定頂級活動的方法被認爲是不可靠的。但是如果你正在調用你的一個活動的方法,你可以讓每個可能的活動的onResume()方法更新共享的東西,以表明這是現在最重要的活動。 –