WebView を使用して、チェック ボックスを介して情報を MYSQl バックエンドに送信する Android 用のアプリを作成しました。現在、Web ビューを終了するには、ユーザーはデバイスのキーを使用して次のアプリ アクティビティに進む必要があります。フォーム送信ボタンがアプリによって押されたことを検出し、何かを使用する方法はありますか? 送信ボタンが押されたときに新しいページを呼び出すことで shouldOverrideUrlLoading を試しました。次に (Uri.parse(url).getHost().equals("page url")){Intent... で if ステートメントを呼び出します。運が悪い。前もって感謝します!コード化されたページは次のとおりです。
public class WebViewActivity extends Activity {
private WebView webView;
int backButtonCount = 0;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.webview);
//webView.setScrollBarStyle(WebView.SCROLLBARS_OUTSIDE_OVERLAY);
Bundle extras = getIntent().getExtras();
if(extras!=null){
String rode=extras.getString("rode");
}
String ray = extras.getString("rode");
webView = (WebView) findViewById(R.id.webView1);
webView.getSettings().setJavaScriptEnabled(true);
webView.loadUrl("http://mywebsite.com/SubDir/user_man.php?user=" + ray);
}
private class MyWebViewClient extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
if (Uri.parse(url).equals("http://mywebsite.com/SubDir/process_prof.php")) {
return false;
}
Intent ik = new Intent(WebViewActivity.this, master_menu.class);
startActivity(ik);
finish();
return true;
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.action_bar_two, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
if (item.getItemId()==R.id.action_selected){
Intent iw = new Intent(this,GetUserEmail.class);
startActivity(iw);
finish();
}
else
if (item.getItemId()==R.id.action_cancel){
Intent iw = new Intent(this,RegisterActivity.class);
startActivity(iw);
finish();
}
return true;
}
public void onBackPressed()
{
if(backButtonCount >= 1)
{
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_HOME);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
}
else
{
Toast.makeText(this, "Press the back button again to close.", Toast.LENGTH_SHORT).show();
backButtonCount++;
}
}