Computer >> 컴퓨터 >  >> 프로그램 작성 >> Android

Android 응용 프로그램이 백그라운드에서 실행 중인지 확인하는 방법은 무엇입니까?

<시간/>

Android 애플리케이션이 백그라운드에서 실행 중인지 여부를 찾아야 하는 상황이 너무 많습니다. 이 예제는 Android 애플리케이션이 백그라운드에서 실행 중인지 확인하는 방법을 보여줍니다.

1단계 - Android Studio에서 새 프로젝트를 생성하고 파일 ⇒ 새 프로젝트로 이동하여 필요한 모든 세부 정보를 입력하여 새 프로젝트를 생성합니다.

2단계 - res/layout/activity_main.xml에 다음 코드를 추가합니다.

 

위의 레이아웃에는 텍스트 보기가 포함되어 있으며 애플리케이션이 포그라운드 모드에 있을 때 텍스트 보기가 표시됩니다. 그렇지 않으면 로그에 정보가 표시됩니다.

3단계 - src/MainActivity.java

에 다음 코드 추가
패키지 com.example.andy.myapplication;import android.app.ActivityManager;import android.content.Context;import android.content.Intent;import android.os.Build;import android.os.Bundle;import android. os.VibrationEffect 가져오기, android.os.Vibrator 가져오기, android.support.annotation.RequiresApi 가져오기, android.support.v7.app.AppCompatActivity 가져오기, android.util.Log 가져오기, android.view.View 가져오기, android.widget 가져오기. LinearLayout 가져오기 android.widget.TextView 가져오기 android.widget.Toast 공개 클래스 MainActivity extends AppCompatActivity { int 보기 =R.layout.activity_main; 텍스트뷰 텍스트뷰; 부울 isInBackground; @RequiresApi(api =Build.VERSION_CODES.JELLY_BEAN) @Override protected void onCreate(Bundle storedInstanceState) { super.onCreate(savedInstanceState); setContentView(보기); 최종 LinearLayout 부모 =findViewById(R.id.parent); textView =findViewById(R.id.text); ActivityManager.RunningAppProcessInfo myProcess =새로운 ActivityManager.RunningAppProcessInfo(); ActivityManager.getMyMemoryState(myProcess); isInBackground =myProcess.importance ! =ActivityManager.RunningAppProcessInfo.IMPORTANCE_FOREGROUND; if(isInBackground) { Log.d("Tutorialspoint.com","응용 프로그램이 백그라운드 상태에 있습니다."); }else{ textView.setText("응용 프로그램이 포그라운드 상태입니다."); } }}

위의 코드에서는 ActivityManager.RunningAppProcessInfo를 사용했는데, 여기에는 응용 프로그램 프로세스 정보가 들어 있습니다. 해당 정보에서 아래와 같이 상태를 찾아야 합니다. -

ActivityManager.RunningAppProcessInfo myProcess =새로운 ActivityManager.RunningAppProcessInfo();ActivityManager.getMyMemoryState(myProcess);isInBackground =myProcess.importance ! =ActivityManager.RunningAppProcessInfo.IMPORTANCE_FOREGROUND;if(isInBackground) { Log.d("Tutorialspoint.com","애플리케이션이 백그라운드 상태에 있습니다.");}else{ textView.setText("애플리케이션이 포그라운드 상태에 있습니다");} 

응용 프로그램을 실행해 보겠습니다. 실제 Android 모바일 장치를 컴퓨터에 연결했다고 가정합니다. Android 스튜디오에서 앱을 실행하려면 프로젝트의 활동 파일 중 하나를 열고 도구 모음에서 실행 아이콘을 클릭합니다. 모바일 장치를 옵션으로 선택한 다음 기본 화면을 표시할 모바일 장치를 확인하십시오 -

Android 응용 프로그램이 백그라운드에서 실행 중인지 확인하는 방법은 무엇입니까?

위의 결과에서 애플리케이션은 포그라운드 상태입니다. 이제 애플리케이션을 최소화하고 아래와 같이 log cat을 확인하십시오. -

Android 응용 프로그램이 백그라운드에서 실행 중인지 확인하는 방법은 무엇입니까?

이제 애플리케이션이 백그라운드 상태에 있음을 보여줍니다.