你的建議的解決方案聽起來不錯:
public class YourBaseActivity extends Activity {
@Override
protected void onResume() {
super.onResume();
ActivityManager mgr = (ActivityManager) getSystemService(ACTIVITY_SERVICE);
List<ActivityManager.RunningTaskInfo> tasks = mgr.getRunningTasks(1);
tasks.get(0).topActivity.getClassName();
//Do what you need to do with it...
}
}
而讓所有的活動擴展該替代活動應該爲你
工作
編輯 另一種方式來做到這一點:
創建流氮肥類,並實現Application.ActivityLifecycleCallbacks,代碼的工作示例:
public class ApplicationTest extends Application implements Application.ActivityLifecycleCallbacks {
@Override
public void onCreate() {
super.onCreate();
registerActivityLifecycleCallbacks(this);
}
@Override
public void onActivityCreated(Activity activity, Bundle savedInstanceState) {
}
@Override
public void onActivityDestroyed(Activity activity) {
}
@Override
public void onActivityPaused(Activity activity) {
}
@Override
public void onActivityResumed(Activity activity) {
Log.d("testing", "onActivityResumed");
}
@Override
public void onActivitySaveInstanceState(Activity activity, Bundle outState) {
}
@Override
public void onActivityStarted(Activity activity) {
}
@Override
public void onActivityStopped(Activity activity) {
}
}
和參考這個類在你的清單:
<application
...
android:name="com.example.testing.ApplicationTest" >
吉列爾莫,我的朋友,這就是我們其實都知道,我們不」不想那樣做,請提供其他解決方案。這是不可接受的。 – MKJParekh
嗨@MKJParekh我用另一種解決方案編輯了我的答案,請檢查它 –
當我們在應用程序內導航時,是否調用回調?如果我開始一項活動,我會爲其他人獲得onActivityPaused和onActivityResumed? –