У меня есть этот код:
@Override
public void onCreate(Bundle savedInstanceState) {
try {
super.onCreate(savedInstanceState);
InetAddress ip;
mWebview = new WebView(this);
mWebview.getSettings().setJavaScriptEnabled(true);
final Activity activity = this;
String ipv4add;
mWebview.setWebViewClient(new WebViewClient() {
public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {
Toast.makeText(activity, description, Toast.LENGTH_SHORT).show();
}
});
ip = InetAddress.getLocalHost();
ipv4add = ip.getHostAddress().toString();
System.out.println(ipv4add);
mWebview .loadUrl(ipv4add+"/Lab4/Task1/index.php");
mWebview.getSettings().setLoadsImagesAutomatically(true);
mWebview.getSettings().setJavaScriptEnabled(true);
mWebview.setScrollBarStyle(View.SCROLLBARS_INSIDE_OVERLAY);
setContentView(mWebview );
} catch (UnknownHostException e) {
e.printStackTrace();
}
Итак, в первую очередь он должен получить IP-адрес сервера, к которому должен быть подключен телефон, затем он будет вставлен в URL-адрес, чтобы телефон мог подключиться к локальному серверу и получить доступ к моим php-файлам. Однако, когда я запускаю это в свой телефон Android, он просто падает. Почему это так? Надеюсь, вы, ребята, можете помочь мне решить это.
Вам не нужно динамически запрашивать IP вашего сервера. Или ты? Что вы можете сделать, это получить статический IP-адрес вашего сервера (проверив конфигурацию IP вашего сервера) и перейти на этот
mWebview .loadUrl("http://your.ip.address.here/Lab4/Task1/index.php");
и удалите свой
ip = InetAddress.getLocalHost();
ipv4add = ip.getHostAddress().toString();
Как только вы готовы развернуть жить, 192.168.1.x
придется заменить на ваш действующий домен, такой как
mWebview .loadUrl("http://www.yourdomain.com/Lab4/Task1/index.php");
Кроме того, не забывайте это в своем манифесте:
<uses-permission android:name="android.permission.INTERNET" />
Других решений пока нет …