티스토리 뷰
Stack Overflow에 자주 검색, 등록되는 문제들과 제가 개발 중 찾아 본 문제들 중에서 나중에도 찾아 볼 것 같은 문제들을 정리하고 있습니다.
Stack Overflow에서 가장 먼저 확인하게 되는 가장 높은 점수를 받은 Solution과 현 시점에 도움이 될 수 있는 가장 최근에 업데이트(최소 점수 확보)된 Solution을 각각 정리하였습니다.
아래 word cloud를 통해 이번 포스팅의 주요 키워드를 미리 확인하세요.
Android check internet connection
Android 인터넷 연결 확인
문제 내용
I want to create an app that uses the internet and I'm trying to create a function that checks if a connection is available and if it isn't, go to an activity that has a retry button and an explanation.
인터넷을 사용하는 앱을 만들고 싶고 연결이 가능한지 확인하고 연결이 안되면 재시도 버튼과 설명이 있는 액티비티로 이동하는 기능을 만들려고 합니다.
Attached is my code so far, but I'm getting the error Syntax error, insert "}" to complete MethodBody.
지금까지 제 코드를 첨부했지만 Syntax error, insert "}" to complete MethodBody 오류가 발생했습니다.
Now I have been placing these in trying to get it to work, but so far no luck... Any help would be appreciated.
지금 저는 이것을 작동 시키려고 노력했지만 지금까지는 운이 없었습니다 ... 어떤 도움을 주시면 감사하겠습니다.
public class TheEvoStikLeagueActivity extends Activity {
private final int SPLASH_DISPLAY_LENGHT = 3000;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
setContentView(R.layout.main);
private boolean checkInternetConnection() {
ConnectivityManager conMgr = (ConnectivityManager) getSystemService (Context.CONNECTIVITY_SERVICE);
// ARE WE CONNECTED TO THE NET
if (conMgr.getActiveNetworkInfo() != null
&& conMgr.getActiveNetworkInfo().isAvailable()
&& conMgr.getActiveNetworkInfo().isConnected()) {
return true;
/* New Handler to start the Menu-Activity
* and close this Splash-Screen after some seconds.*/
new Handler().postDelayed(new Runnable() {
public void run() {
/* Create an Intent that will start the Menu-Activity. */
Intent mainIntent = new Intent(TheEvoStikLeagueActivity.this, IntroActivity.class);
TheEvoStikLeagueActivity.this.startActivity(mainIntent);
TheEvoStikLeagueActivity.this.finish();
}
}, SPLASH_DISPLAY_LENGHT);
} else {
return false;
Intent connectionIntent = new Intent(TheEvoStikLeagueActivity.this, HomeActivity.class);
TheEvoStikLeagueActivity.this.startActivity(connectionIntent);
TheEvoStikLeagueActivity.this.finish();
}
}
}
높은 점수를 받은 Solution
This method checks whether mobile is connected to internet and returns true if connected:
이 함수는 모바일이 인터넷에 연결되어 있는지 확인하고 연결되어 있으면 true를 반환합니다:
private boolean isNetworkConnected() {
ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
return cm.getActiveNetworkInfo() != null && cm.getActiveNetworkInfo().isConnected();
}
in manifest,
manifest 파일에는 퍼미션을 선언합니다,
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
Edit: This method actually checks if device is connected to internet(There is a possibility it's connected to a network but not to internet).
편집: 이 방법은 장치가 인터넷에 연결되어 있는지 실제로 확인합니다(네트워크에는 연결되어 있지만 인터넷에는 연결되어 있지 않을 가능성이 있습니다).
public boolean isInternetAvailable() {
try {
InetAddress ipAddr = InetAddress.getByName("google.com");
//You can replace it with your name
return !ipAddr.equals("");
} catch (Exception e) {
return false;
}
}
가장 최근 달린 Solution
Use this method:
다음 함수를 사용합니다:
public static boolean isOnline() {
ConnectivityManager cm = (ConnectivityManager) context
.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo netInfo = cm.getActiveNetworkInfo();
return netInfo != null && netInfo.isConnectedOrConnecting();
}
This is the permission needed:
필요한 권한은 다음과 같습니다:
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
출처 : https://stackoverflow.com/questions/9570237/android-check-internet-connection
'개발 > 안드로이드' 카테고리의 다른 글
Android에서 파일로 문자열 읽기/쓰기 (0) | 2023.01.04 |
---|---|
안드로이드에서 파일의 MIME 타입 확인하기 (0) | 2023.01.04 |
탭 호스트 액티비티에서 결과(startActivityForResult) 반환하기 (0) | 2023.01.03 |
인텐트의 모든 extra 데이터 출력하기 (0) | 2023.01.03 |
'ACTION-VIEW 인텐트 필터가 있는 적어도 하나의 액티비티 추가' 경고 수정하기 (0) | 2023.01.01 |