0
我想知道是否有方法可以獲取android上當前運行活動的上下文。例如,我有一個活動類,它正在運行。我想要的是調用另一個簡單類來運行一些從Activity類調用的函數。通過這樣做,我需要在Simple Class上設置Activity Class的上下文;另一方面,我需要擁有當前運行活動的上下文,以便我的簡單類實際上可以運行從當前運行活動調用的函數。獲取當前運行活動的上下文
下面是我的項目的軟代碼。
public class Main1 extends Activity {
private static GetAPNsInfo getAPNsInfo = new GetAPNsInfo();
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
getAPNsInfo.doSomething();
}
}
public class GetAPNsInfo {
public void doSomething() {
Button button = currentRunningActivityContext.findViewById(R.id.button1);
button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
}
});
}
}
最後,我的這個線程的目的是,我需要一個很好的方式來獲取當前正在運行的活動信息。
這是我找到自我的解決方案。但它並沒有完全解決這個問題。我們可以在Manifest.xml中添加一個接收器。這將運行後臺應用程序。
<receiver android:name=".RunningActivityCapture">
<intent-filter android:priority="-1">
<action android:name="android.intent.action.NEW_OUTGOING_CALL"></action>
</intent-filter>
</receiver>
後臺應用程序界面如下圖所示:
public class RunningActivityCapture extends BroadcastReceiver {
@Override
public void onReceive(Context aContext, Intent intent) {
String action = intent.getAction();
if (action.equals(Intent.ACTION_ALL_APPS)) {
Activity activty = intent.getCurrentActivity();
Session session = new Session();
session.setRunningActivity(activty);
}
return;
}
}
我只能從會話類,它從我的後臺應用程序設置的活動。這是我解決這個問題的第一個想法。但代碼不正確。所以我需要你的幫助。
這是我不會需要的。我已經在我的主題中添加了最終目的。我想要的是獲取當前正在運行的活動信息。如果有數百個任務在上百個活動中運行相同的事情,那麼我是否需要爲每個活動設置上下文?如果這樣做會變成一項巨大的工作。 – user964409
也許不建議在我的應用程序中獲取任何活動。但是,應該有一種方法可以只獲得一項最佳跑步活動。我可以用接收器來解決這個問題嗎? – user964409
你想要做什麼?也許有更好的辦法 – Craigy