같은 네트워크 연결을 처리하는 방법을 내가 본 지금안드로이드 : 플레이 스토어 앱
나는 플레이 스토어 앱과 같은 네트워크 연결을 처리하는 해결 된 것입니다. 네트워크 연결이 그런 그밖에 로드 URL 버튼을 로드 사용자 정의 URL을 사용할 수 있으면 나는 웹보기를 작성하고 URL을로드 할 한
는 www.bing.com
을 말한다. 내가 시도하고 URL을 다시로드하려면이 버튼을 누르면 아무런 연결이없는 경우
을 종료? 즉 사용자가 연결 한 후에 다시이 활동을 호출하려고합니다. 어떻게해야합니까? 당신은 조각을 사용해야합니다
import android.net.ConnectivityManager; import android.net.NetworkInfo; import android.os.Bundle; import android.app.Activity; import android.view.Menu; import android.view.MenuItem; import android.webkit.WebView; import android.webkit.WebViewClient; import android.widget.Toast; import android.support.v4.app.NavUtils; import android.annotation.TargetApi; import android.content.Context; import android.os.Build; public class WebActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_web); if(isNetworkStatusAvailable (getApplicationContext())) { Toast.makeText(getApplicationContext(), "Loading...", Toast.LENGTH_SHORT).show(); WebView myWebView = (WebView) findViewById(R.id.webview); myWebView.loadUrl("http://www.bing.com"); myWebView.setWebViewClient(new WebViewClient() { @Override public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) { Toast.makeText(getApplicationContext(), "Internet Connection Unavailable Or " + description , Toast.LENGTH_LONG).show(); Intent errorIntent = new Intent(WebActivity.this, NetworkErrorActivity.class); startActivity(errorIntent); finish(); super.onReceivedError(view, errorCode, description, failingUrl); } }); } else { Toast.makeText(getApplicationContext(), "Internet Connection Unavailable.", Toast.LENGTH_LONG).show(); Intent errorIntent = new Intent(this, NetworkErrorActivity.class); startActivity(errorIntent); finish(); } // Show the Up button in the action bar. setupActionBar(); } public static boolean isNetworkStatusAvailable (Context context) { ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); if (connectivityManager != null) { NetworkInfo netInfos = connectivityManager.getActiveNetworkInfo(); if(netInfos != null) if(netInfos.isConnected()) return true; } return false; } }
그냥 말하면 안드로이드의 Play 스토어 앱이 웹보기를 사용하고 있다고 생각하지 않습니다. 귀하의 질문에 대한 가능한 방법은 네트워크를 사용할 수없는 경우 재시도 단추가 포함 된 다른보기 (상대 레이아웃과 같은)로 웹보기를 바꾸는 것입니다. – kevin
어제부터 당신의 솔루션을 시도했지만 어떻게 든 웹뷰에서 버튼으로 작동하지 못했습니다. 이제 다음 방법을 사용하여이 문제를 해결했습니다. 나는 그 안의 코드를 으로 대체했습니다. intent errorIntent = new Intent (this, NetworkErrorActivity.class); startActivity (errorIntent); 새로운 활동에서 버튼을 눌러 이전 활동을 다시 호출합니다. 마침내 그것은 일한다!! – Gaga
"이전 활동으로 다시 전화 걸기"란 무엇을 의미합니까? 이전 활동으로 돌아가는 대신 새로운 활동을 시작하려고하면 다시 스택이 엉망이됩니다. – kevin