2017-08-06 91 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