Tôi nghĩ rằng tôi có giải pháp tốt hơn. Bởi vì bạn có thể xây dựng đơn giản trong MyApplication.activityResumed (); cho mọi Hoạt động của một lần mở rộng.
Đầu tiên bạn phải tạo (như CyberneticTwerkGuruOrc)
public class MyApplication extends Application {
public static boolean isActivityVisible() {
return activityVisible;
}
public static void activityResumed() {
activityVisible = true;
}
public static void activityPaused() {
activityVisible = false;
}
private static boolean activityVisible;
}
Tiếp theo, bạn phải thêm lớp Ứng dụng vào AndroidManifest.xml
<application
android:name="your.app.package.MyApplication"
android:icon="@drawable/icon"
android:label="@string/app_name" >
Sau đó, tạo ActivityBase lớp
public class ActivityBase extends Activity {
@Override
protected void onPause() {
super.onPause();
MyApplication.activityPaused();
}
@Override
protected void onResume() {
super.onResume();
MyApplication.activityResumed();
}
}
Cuối cùng, khi xếp Hoạt động mới, bạn chỉ cần mở rộng nó bằng ActivityBase thay vì Activity.
public class Main extends ActivityBase {
@Override
protected void onResume() {
super.onResume();
}
@Override
protected void onPause() {
super.onPause();
}
}
Đối với tôi, đó là phương pháp tốt hơn vì bạn chỉ cần nhớ về việc mở rộng bằng ActivityBase. Ngoài ra, bạn có thể mở rộng chức năng cơ sở của mình trong tương lai. Trong trường hợp của tôi, tôi đã thêm bộ thu cho dịch vụ của mình và cảnh báo về mạng trong một lớp.
Nếu bạn muốn kiểm tra mức độ hiển thị của Ứng dụng của mình, bạn có thể chỉ cần gọi
MyApplication.isActivityVisible()