2017-08-06 103 views
2

我正在做一個Android應用程序,以我的書,我有一個HTML頁面我要添加按鈕就可以鏈接到這個Java代碼鏈接HTML按鈕的Java活動

public class MainActivity extends Activity { 

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    // listeners of our two buttons 
    View.OnClickListener handler = new View.OnClickListener() { 
     public void onClick(View v) { 
      switch (v.getId()) { 

       case R.id.buttonShareTextUrl: 
        shareTextUrl(); 
        break; 


      } 
     } 
    }; 

    // our buttons 
    findViewById(R.id.buttonShareTextUrl).setOnClickListener(handler); 


} 

// Method to share either text or URL. 
private void shareTextUrl() { 
    Intent share = new Intent(android.content.Intent.ACTION_SEND); 
    share.setType("text/plain"); 
    share.addFlags(Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET); 

    // Add data to the intent, the receiving app will decide 
    // what to do with it. 
    share.putExtra(Intent.EXTRA_SUBJECT, "book"); 
    share.putExtra(Intent.EXTRA_TEXT, "https://play.google.com/store/apps/details?id=com.sohaibm.assrar_bac"); 

    startActivity(Intent.createChooser(share, "share with")); 
} 

}

所以我要你給我一個包含鏈接到本次活動的按鈕頁面的HTML代碼,並感謝你這麼多

回答

0

嘗試這樣的:

HTML網頁:

<html> 
    <head> 
     <title></title> 
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
     <link rel="stylesheet" type="text/css" href="style.css" /> 

     <script type="text/javascript"> 

     function moveToScreenTwo() { 
     Android.moveToNextScreen(); 
     } 
     </script> 

    </head> 

    <body> 
    <div> 
      <input type="button" value="Locate" onClick="moveToScreenTwo()" /> 
     </div> 
    </body> 
    </html> 

FirstACtivity.java:

import android.webkit.JavascriptInterface; 

webView = (WebView) findViewById(R.id.load_url); 
webView.getSettings().setJavaScriptEnabled(true); 

if (new File(url).exists()) { 
      webView.loadUrl(FILENAME_PREFIX + url); 
      Log.d("fileurl", "" + FILENAME_PREFIX + url); 
    webView.addJavascriptInterface(new WebAppInterface(this), "Android"); 
     } 
    //Class to be injected in Web page 
    public class WebAppInterface { 
     Context mContext; 

     /** 
     * Instantiate the interface and set the context 
     */ 
     WebAppInterface(Context c) { 
      mContext = c; 
     } 

     @JavascriptInterface 
     public void moveToNextScreen() { 

      Intent i = new Intent(FirstActivity.this,SecondActivity.class); 
      startActivity(i); 

     } 
    } 

更多參考:檢查this tutorial

+0

它didint工作,我puted第一代碼001.htm 的我創建FirstACtivity.java我puted第二個代碼在應用程序中我只有一個按鈕,當我clilck沒有發生什麼事情我該怎麼辦 – Sohaibm96

2

如果使用WebView展示圖書內容,你可以使用WebViewClient

WebViewClient mWebClient = new WebViewClient(){ 

     @Override 
     public boolean shouldOverrideUrlLoading(WebView view, String url) { 
      if(url.startsWith("handle:")){ 
       // do something 
       return true; 
      } 

      else{ 
       view.loadUrl(url); 
      } 
      return true; 
     } 
    }; 
    mWebView.setWebViewClient(mWebClient); 

而且你的鏈接應該是:

<a href="handle://it.to.me">Link text</a> 
+0

請你解釋我應該在哪裏把代碼 – Sohaibm96

+0

@ Sohaibm96 java代碼 - 在ininialize WebView之後(在使用findViewById或其他您可能使用的分配之後)在Create()上。 HTML代碼 - 無論您想要在您的HTML頁面文件中 – Valentun

+0

39我對開發語言不太瞭解,請編輯它應該是的代碼並將其提供給我,並告訴我在哪種類型或名稱的文件中我應該說,我只想要一個按鈕來做我喜歡的分享,並且非常感謝你的耐心 – Sohaibm96