2011-03-15 36 views
0

我正在研究在其中一個活動中使用web視圖的應用程序。我已經附加了一個帶有Web內容的java腳本界面。我需要根據點擊事件來調用包含數據的活動(可以說觸摸事件)。我可以將數據傳回Java腳本界面,但它不會讓我調用startActivity(Intent)。有沒有其他方式可以稱爲活動?提前致謝!!需要從JavaScript界面​​調用一個活動返回給WebView

+0

您需要點擊網頁鏈接打開活動? – RomaTTi 2011-03-15 13:54:54

回答

1

下面是你需要做的,以支持這個事情:

  1. 對於要推出的活動: 處理好android.intent.category.BROWSABLE類與特定的方案。

  2. 在WebView onClick中,加載由應用程序處理的方案開始的url。

對於前: 測試活動

<manifest> 
<application> 
    <activity> 
    <intent-filter> 
     <action android:name="android.intent.action.VIEW" /> 
     <category android:name="android.intent.category.DEFAULT" /> 
     <category android:name="android.intent.category.BROWSABLE" /> 
     <data android:scheme="test-app"/> 
    </intent-filter> 
    </activity> 
</application> 
</manifest> 
 

URL後,Web視圖點擊加載:

webView.loadUrl("test-app://data-that-you-want-to-transfer");

HTH!

1

可以使用的WebView的OnClick檢查被點擊哪個鏈接,並採取相應的行動。像這樣:

wv.setOnClickListener(new OnClickListener() { 
public boolean onClick(View v){ 
    HitTestResult result = wv.getHitTestResult(); 
    String url = result.getExtra(); 
    //Log.i(myTag, url); 
    if(url.equals("which-ever-url-you-want-to-override.com"){ 
     Intent i = new Intent(getApplicationContext(), yourActivity.class); 
     startActivity(i); 
    } 


} 
}); 

getHitTestResult()會給你一個對象,它會告訴你鏈接點的URL在哪裏。你可以使用它來讓不同的鏈接在你的應用中做不同的事情。

相關問題