Saya rasa saya punya solusi yang lebih baik. Karena Anda bisa membangun hanya dalam MyApplication.activityResumed (); untuk setiap Kegiatan dengan satu perluasan.
Pertama, Anda harus membuat (seperti 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;
}
Selanjutnya, Anda harus menambahkan kelas Aplikasi ke AndroidManifest.xml
<application
android:name="your.app.package.MyApplication"
android:icon="@drawable/icon"
android:label="@string/app_name" >
Kemudian, buat kelas ActivityBase
public class ActivityBase extends Activity {
@Override
protected void onPause() {
super.onPause();
MyApplication.activityPaused();
}
@Override
protected void onResume() {
super.onResume();
MyApplication.activityResumed();
}
}
Terakhir, saat Anda membuat Activity baru, Anda cukup memperluasnya dengan ActivityBase alih-alih Activity.
public class Main extends ActivityBase {
@Override
protected void onResume() {
super.onResume();
}
@Override
protected void onPause() {
super.onPause();
}
}
Bagi saya Ini metode yang lebih baik karena Anda harus ingat tentang perluasan oleh ActivityBase. Selain itu, Anda dapat memperluas fungsi basis Anda di masa mendatang. Dalam kasus saya, saya menambahkan penerima untuk layanan saya dan peringatan tentang jaringan dalam satu kelas.
Jika Anda ingin memeriksa visibilitas Aplikasi Anda, Anda cukup menelepon
MyApplication.isActivityVisible()