2014-03-18 153 views
2

我在我的res/raw中有一個HTML文件,我想在Google Glass瀏覽器中查看。在Google Glass瀏覽器中打開本地html文件

This answer建議複製到共享存儲或使用WebView。

我似乎無法使用觸摸板以瀏覽器的方式進行WebView滾動,這使得它無法用於我的目的。

我試着將文件複製到共享存儲(即/mnt/sdcard/Android/data/my.namespace/files/page.html),並使用

Intent i = new Intent(Intent.ACTION_VIEW); 
File file = new File(f.getAbsolutePath()); 
String extension = android.webkit.MimeTypeMap.getFileExtensionFromUrl(Uri.fromFile(file).toString()); 
String mimetype = android.webkit.MimeTypeMap.getSingleton().getMimeTypeFromExtension(extension); 
i.setDataAndType(Uri.fromFile(file),mimetype); 

,但我得到這個異常:

03-18 17:58:53.338: E/AndroidRuntime(5315): android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.action.VIEW dat=file:///mnt/sdcard/Android/data/my.namespace/files/page.html typ=text/html } 

我用adb shell檢查過,文件在那個位置。任何想法,爲什麼這可能不工作?這是一個特定玻璃問題嗎?

感謝

回答

4

,因爲你有這樣的錯誤消息:"ActivityNotFoundException: No Activity found to handle Intent",你需要定義什麼活動都必須打開你的意圖,在這種情況下,瀏覽器。

Intent i = new Intent(Intent.ACTION_VIEW); 
File file = new File(f.getAbsolutePath()); 
String extension = android.webkit.MimeTypeMap.getFileExtensionFromUrl(Uri.fromFile(file).toString()); 
String mimetype = android.webkit.MimeTypeMap.getSingleton().getMimeTypeFromExtension(extension); 

//you need define this activity to open your html file. 
i.setClassName("com.google.android.browser", "com.android.browser.BrowserActivity"); 
//intent.setComponent(new ComponentName("com.android.browser", "com.android.browser.BrowserActivity")); 

i.setDataAndType(Uri.fromFile(file),mimetype); 

編輯: 活動開始在玻璃上的瀏覽器:

i.setClassName("com.google.glass.browser", "com.google.glass.browser.WebBrowserActivity") 
+1

普通的Android瀏覽器上沒有玻璃,所以我得到'ActivityNotFoundException:無法找到明確的活動類{com.google.android.browser/com.android.browser.BrowserActivity}'在挖掘並反編譯GlassBrowser.apk後,我發現所需的活動是'i.setClassName(「com.google.glass.browser 「,」com.google.glass.browser.WebBrowserActivity「)。感謝您指點我正確的方向。 – Ben

+0

謝謝你,本人,我認爲這是例外的原因,但希望在未來谷歌玻璃的工作更多。 – Jorgesys

+0

只要提一下,如果你想打開一個在線網站,你可以做 'intent = new Intent(Intent.ACTION_VIEW); intent.setData(Uri.parse(url)); intent.setClassName(「com.google.glass.browser」,「com.google.glass.browser.WebBrowserActivity」);' –

相關問題