2011-09-22 24 views
0

我對從網站調用本地應用程序感到困惑。 有什麼辦法從網頁腳本啓動一個ipad/iphone應用程序?我記得有IE瀏覽器可以啓動本地設備,如相機或打印機的ActiveX。 JavaScript可以調用ActiveX。但iOS中沒有activeX。這是我的問題:我如何從網頁啓動本地設備?有沒有人有同樣的問題?我有一種方法,但我不知道是否可行:如何從Web腳本調用本地外圍設備

  1. UIWebView可以通過stringByEvaluatingJavaScriptFromString執行JavaScript。
  2. 在頁面中使用JavaScript編寫函數,響應頁面上的事件(按鈕點擊等),然後更改狀態。
  3. 開始線程查詢狀態。當狀態改變時,調用本地應用程序。

這是可能或更好的方法嗎?

回答

0

如果你想從你的iPad的Safari瀏覽器打開你的應用程序,然後有一種方法來做到這一點。添加以下代碼會在應用程序的Info.plist文件:

<key>CFBundleURLTypes</key> 
<array> 
    <dict> 
     <key>CFBundleURLName</key> 
     <string>com.companyname.appname</string> 
     <key>CFBundleURLSchemes</key> 
     <array> 
      <string>openApp</string> 
     </array> 
    </dict> 
</array> 

保存plist文件,現在在網頁上放openApp://到位的鏈接時,用戶點擊所需的按鈕。如果您嘗試在Web視圖中的自己的應用中實現它,這將不會有幫助。但它可以從iPad或任何其他應用程序的Safari瀏覽器中運行。

我希望這是有幫助的。

+0

謝謝,它確實有效。但是,我仍然想在UIWebView中實現這一點。有沒有可能的方法? – user958797

+0

是的,您也可以從網絡視圖中進行此操作。但是你不能從App A的webview中調用App A,因爲它沒有任何意義。您將只能從App A的webview中調用另一個應用程序。所以,最好的做法是將您的應用程序的網頁鏈接重定向到Safari,然後再使用上述方法移回您的應用程序。 –