2015-12-28 3 views
1

Я создаю приложение, которое поможет мне и другим студентам быстро войти в сайт нашей школы. Веб-сайт школы https://my.gediz.edu.tr/Как ввести имя пользователя и пароль автоматически в Webview

Я создал приложение с WebView. Я хочу, чтобы веб-просмотр автоматически вводил имя пользователя и пароль, чтобы пользователь уже вошел в систему при запуске приложения. Я искал ее и нашел что-то подобное, но это не сработало.

import android.app.ActionBar; 
import android.os.Bundle; 
import android.support.v7.app.AppCompatActivity; 
import android.view.Menu; 
import android.view.MenuItem; 
import android.view.View; 
import android.webkit.WebView; 
import android.webkit.WebViewClient; 
import android.widget.TextView; 

public class MainActivity extends AppCompatActivity { 

TextView txtMsg; 
WebView webview; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    android.support.v7.app.ActionBar actionBar=getSupportActionBar(); 

    // ActionBar actionBar=getActionBar(); 
    actionBar.setLogo(R.drawable.ic_actionbar_gediz1); 
    actionBar.setDisplayUseLogoEnabled(true); 
    actionBar.setDisplayShowHomeEnabled(true); 

    txtMsg=(TextView)findViewById(R.id.textView1); 
    //webview=(WebView)findViewById(R.id.webview1); 
    demo1TrySpecificURL(); 

    //zoom 
    webview.getSettings().setBuiltInZoomControls(true); 
} 

private void demo1TrySpecificURL(){ 
    webview=(WebView)findViewById(R.id.webview1); 
    webview.getSettings().setJavaScriptEnabled(true); 
    //webview.setWebViewClient(new MyWebClient(txtMsg, "https://my.gediz.edu.tr/")); 
    webview.loadUrl("https://my.gediz.edu.tr/"); 

    webview.setWebViewClient(new WebViewClient(){ 

     public void onPageFinished(WebView view, String url){ 



      view.loadUrl("javascript:document.getElementsByName('username')[0].value = 'username'"); 
      view.loadUrl("javascript:document.getElementsByName('password')[0].value = 'password'"); 


      view.loadUrl("javascript:document.forms['Login'].submit()"); 
     } 

    }); 
} 

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    //return super.onCreateOptionsMenu(menu); 
    getMenuInflater().inflate(R.menu.menu_main, menu); 

    return true; 
} 

@Override 
public boolean onOptionsItemSelected(MenuItem item) { 
    // Handle action bar item clicks here. The action bar will 
    // automatically handle clicks on the Home/Up button, so long 
    // as you specify a parent activity in AndroidManifest.xml. 

    int id = item.getItemId(); 

    //noinspection SimplifiableIfStatement 
    if (id == R.id.forward_page) { 
     webview.goForward(); 
     return true; 
    } 

    else if (id == R.id.back_page) { 
     webview.goBack(); 
     return true; 
    } 

    else if (id == R.id.reLoad_page) { 
     webview.reload(); 
     return true; 
    } 

    else if (id == R.id.zoom_in) { 
     webview.zoomIn(); 
     return true; 
    } 

    else if (id == R.id.zoom_out) { 
     webview.zoomOut(); 
     return true; 
    } 



    return super.onOptionsItemSelected(item); 
} 

public void blaHandler(View view) { 

    webview.setWebViewClient(new WebViewClient(){ 

     public void onPageFinished(WebView view, String url){ 

      view.loadUrl("javascript:document.getElementsByName('username')[0].value = 'username'"); 
      view.loadUrl("javascript:document.getElementsByName('password')[0].value = 'userpassword'"); 

      view.loadUrl("javascript:document.forms['Login '].submit()"); 
     } 

    }); 

} 
} 

ответ

1

Попробуйте что-нибудь, как предложено здесь,

Android: insert data into html input

В принципе, вы должны написать JavaScript обработчики и повесьте его на свой WebView.

+2

Спасибо, что я нашел ответ для других сайтов, но НЕ МОЙ, потому что, когда я проверяю элементы, нет идентификатора для текстовых полей https://my.gediz.edu.tr/ ответ здесь для других -> http: //stackoverflow.com/questions/10187908/fill-form-in-webview-with-javascript%3E и http://stackoverflow.com/questions/7961568/fill-fields-in-webview-automatically – David

+0

Рад, что вы нашли ответ –

Смежные вопросы