android打開系統瀏覽器
『壹』 android 怎麼讓系統瀏覽器打開指定鏈接
android實現通過瀏覽器點擊鏈接打開本地應用(APP)並拿到瀏覽器傳遞的數據 方法/步驟 為了實現這個功能可折騰了我好久,先上一份代碼,經樓主驗證是絕對可以用的而且也比較清晰的代碼!(ps:還是先劇透下吧,第三方大部分瀏覽器無法成功。) 點擊瀏覽器中的URL鏈接,啟動特定的App。 首先做成HTML的頁面,頁面內容格式如下: <a href="[scheme]://[host]/[path]?[query]">啟動應用程序</a> 這一句就可以了。 各個項目含義如下所示: scheme:判別啟動的App。 ※詳細後述 host:適當記述 path:傳值時必須的key ※沒有也可以 query:獲取值的Key和Value ※沒有也可以 作為測試好好寫了一下,如下: <a href="myapp://jp.app/openwith?name=zhangsan&age=26">啟動應用程序</a> 接下來是Android端。 首先在AndroidManifest.xml的MAIN Activity下追加以下內容。(啟動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="myapp" android:host="jp.app" android:pathPrefix="/openwith"/> </intent-filter> HTML記述的內容加入<data …/>。 其中必須的內容僅scheme,沒有其他內容app也能啟動。 ※注意事項:intent-filter的內容【android.intent.action.MAIN】和 【android.intent.category.LAUNCHER】這2個,不能與這次追加的內容混合。 所以,如果加入了同一個Activity,請按以下這樣做,否則會導致應用圖標在桌面消失等問題。 復制代碼 <intent-filter> <action android:name="android.intent.action.MAIN"/> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> <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="myapp" android:host="jp.app" android:pathPrefix="/openwith"/> </intent-filter> 復制代碼 這樣的話,沒有問題。 接下來在Activity中需要取值的地方添加以下代碼,我是直接寫在OnCreate函數里的: Intent i_getvalue = getIntent(); String action = i_getvalue.getAction(); if(Intent.ACTION_VIEW.equals(action)){ Uri uri = i_getvalue.getData(); if(uri != null){ String name = uri.getQueryParameter("name"); String age= uri.getQueryParameter("age"); } } 這樣就能獲取到URL傳遞過來的值了。 ——————————————————————————————————我是分割線———————————————————————————————————— 代碼完了,是不是很驚奇的發現用瀏覽器輸入 myapp://jp.app/openwith?name=zhangsan&age=26 是不是404,打不開? 樓主你這不是騙人么!樓主你個混蛋啊。 客官,稍安勿躁啊,你看看你用的瀏覽器是什麼?UC,獵豹,歐朋?放棄吧,試試系統自帶瀏覽器或者谷歌瀏覽器吧。肯定能成功的,不能成功的話再來坑我。哈哈。 ——————————————————————————————————我是分割線———————————————————————————————————— 突然覺得好悲哀,好不容易get了這個技能,卻不能被第三方瀏覽器使用。在這個android瀏覽器大部分被第三方占據著的時代不得不說是個悲劇啊。 接下來還是說說為什麼第三方瀏覽器不能成功吧。首先,我發現的是UC瀏覽器,如果你使用了自己的scheme,而不是http的話,uc會默認在你的scheme前面添加。這太坑爹了。其他瀏覽器沒看是不是同樣的情況。發現這個問題後我就試著把自己的scheme換成http。然後滿懷期待的又跑了一遍,結果還是坑爹了。所以我想會不會是第三方瀏覽器對url做了處理。到這里,我也無可奈何了。我測試了UC,獵豹,歐朋,這3個都不支持。系統自帶的和谷歌瀏覽器是支持的。 最後再補充個線索吧,在瀏覽器里搜索網路應用。進了他們的頁面後,他們是可以實現在各種瀏覽器啟動已經安裝好的本地app的。看到這個後我就看了下他們頁面的源碼。 在這里他們頁面添加了個data-sentintent的標簽,看到這里,應該能確定第三方瀏覽器應該是默認都不支持發intent的,只能自己起一個。根據前端說,這個標簽應該是自定義的。我們前端看源碼的時候發現是這樣的 所以最後的結果應該是網路這邊是起了個埠,然後在應用里啟用了一個服務,來監聽這個埠,來獲取這個intent。大概就這個思路了。不過樓主沒有實際去操作。項目時間緊,太麻煩了。
『貳』 Android怎麼更改默認瀏覽器什麼的.....
Android系統手機上清除默認設置的步驟:
1、進入手機【設置】
2、選擇【應用】
3、點擊進入某個應用,然後找到【默認啟動】那個設置,點擊【清除默認設置】。
接著你可以把想要的軟體設為默認使用軟體。
同時,再打開一個外部鏈接或視頻的時候,沒有設置默認軟體的話會彈出窗口讓你選擇使用何種方式打開,此時你也可以設置:比如從微信朋友圈選擇在瀏覽器打開觀看時,會彈出一個(如圖)此時你也可以做修改,當然,是從你已經安裝的軟體是選擇默認軟體
『叄』 Android瀏覽器如何打開本地html文件
android 瀏覽器
打開本地html文件的方法
有些html文件放在本地磁碟和sdcard,如何用打開這個網頁呢?
這種應用在測試時非常有用。
有2個方法:
1.使用文件管理器
如ES等,需要幸運的是你的文件管理器直接用瀏覽器打開。
2.在瀏覽器輸入地址
訪問本地磁碟和SD卡上的HTML,前部分content://com.android.htmlfileprovider是Provider的標准,後面是程序目錄。
比如sdcard的tesl.html
直接在瀏覽器里輸入content://com.android.htmlfileprovider/sdcard/test.html回車就可以看到網頁了。
在代碼
webView.loadUrl("content://com.android.htmlfileprovider/sdcard/test.html")
如果是其它程序的私有html文件,這樣做會失敗。
這是由於com.android.htmlfileprovider的許可權不夠,如果是重寫一個私有的HtmlProvider位於同一個應用中,應該能解決問題。然後就參考了原來的com.android.htmlfileprovider
源代碼,改寫了下。問題解決了,使用私有的HTMLProvider,可以輕松的訪問手機內存中,程序私有目錄下的html文件。
網上有例子,你可以搜索!
『肆』 安卓開發怎麼在APP內部調用手機系統瀏覽器打開指定html並獲取HTML的數據
Android開發_如何調用 瀏覽器訪問網頁和Html文件
一、啟動android默認瀏覽器
Intent intent= new Intent();
intent.setAction('android.intent.action.VIEW');
Uri content_url = Uri.parse('http://www.cnblogs.com');
intent.setData(content_url);
startActivity(intent);
這樣子,android就可以調用起手機默認的瀏覽器訪問。
二、指定相應的瀏覽器訪問
1、指定android自帶的瀏覽器訪問
( 「com.android.browser」:packagename ;「com.android.browser.BrowserActivity」:啟動主activity)
Intent intent= new Intent();
intent.setAction('android.intent.action.VIEW');
Uri content_url = Uri.parse('http://www.cnblogs.com');
intent.setData(content_url);
intent.setClassName('com.android.browser','com.android.browser.BrowserActivity');
startActivity(intent);
2、啟動其他瀏覽器(當然該瀏覽器必須安裝在機器上)
只要修改以下相應的packagename 和 主啟動activity即可調用其他瀏覽器
intent.setClassName('com.android.browser','com.android.browser.BrowserActivity');
uc瀏覽器':'com.uc.browser', 'com.uc.browser.ActivityUpdate「
opera :'com.opera.mini.android', 'com.opera.mini.android.Browser'
qq瀏覽器:'com.tencent.mtt', 'com.tencent.mtt.MainActivity'
三、打開本地html文件
打開本地的html文件的時候,一定要指定某個瀏覽器,而不能採用方式一來瀏覽,具體示例代碼如下
Intent intent= new Intent();
intent.setAction('android.intent.action.VIEW');
Uri content_url = Uri.parse('content://com.android.htmlfileprovider/sdcard/help.html');
intent.setData(content_url);
intent.setClassName('com.android.browser','com.android.browser.BrowserActivity');
startActivity(intent);
關鍵點是調用了」content「這個filter。
以前有在win32編程的朋友,可能會覺得用這種形式」file://sccard/help.html「是否可以,可以很肯定的跟你說,默認的瀏覽器設置是沒有對」file「這個進行解析的,如果要讓你的默認android瀏覽器有這個功能需要自己到android源碼修改manifest.xml文件,然後自己編譯瀏覽器代碼生成相應的apk包來重新在機器上安裝。
大體的步驟如下:
1、打開 packages/apps/Browser/AndroidManifest.xml文件把加到相應的後面就可以了
2、重新編譯打包,安裝,這樣子,新的瀏覽器就支持」file「這個形式了
有興趣的可以去試試。
『伍』 Android如何調用系統默認瀏覽器訪問(2)
2、啟動其他瀏覽器(當然該瀏覽器必須安裝在機器上) 只要修改以下相應的packagename 和 主啟動activity即可調用其他瀏覽器 intent.setClassName(com.android.browser,com.android.browser.BrowserActivity); uc瀏
『陸』 如何在Android中調用瀏覽器打開網頁
android打開系統默認的軟體,通常使用的是inent意圖這個類,如下打開瀏覽器: Intent
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
// get the view web intent
Intent intent = this.getViewWebIntent();
this.(intent);
// set the className to use the specific browser to open the webpage.
intent.setClassName("com.tencent.mtt", "com.tencent.mtt.MainActivity");
startActivity(intent);
}
/*
*get the desired view web intent
*/
private Intent getViewWebIntent() {
Intent viewWebIntent = new Intent(Intent.ACTION_VIEW);
Uri uri = Uri.parse("http://www.2cto.com");
viewWebIntent.setData(uri);
return viewWebIntent;
}
裡面可以填上任意的url,也可以利用inent發送信息、撥打電話,記日歷
『柒』 【高分懸賞】在Android系統中,利用系統的瀏覽器展示我們的頁面,其中有一個鏈接,點擊後打開簡訊列表。
分兩種情況:
1.如果你是沒有客戶端的,用系統瀏覽器打開,那麼點擊你網頁里的鏈接,是不可能調用到android的簡訊列表的,因為沒有許可權。
2.如果你打算做一個客戶端版的,這時候你需要添加讀取簡訊的許可權,而把你的網頁用webView來進行載入,在點擊頁面此鏈接時有一個交互,收到此命令,程序實現打開簡訊列表的功能。
至於WebView的交互,你可以在網上查一下資料,打開簡訊也是,容易找到的,難度不大。
但是想僅僅通過瀏覽器,能調出簡訊列表,這是不現實的。
『捌』 Android程序中怎麼啟動瀏覽器
Intent intent = new Intent();
intent.setAction("android.intent.action.VIEW");
Uri content_url = Uri.parse("你想啟動我網址");
intent.setData(content_url); startActivity(intent);
『玖』 android 跳轉到系統瀏覽器 是在activity的onCreate方法中跳轉,
分開兩個頁面來做..先顯示Activity.然後寫個Timetask 延時指定秒數再跳轉