androidurluri
⑴ 如何將uri地址轉換成url地址
是想要把長鏈接轉換成短鏈接嗎?短鏈接的話不容易會被察覺到,而且比較簡短。
⑵ 怎麼在android實現通過瀏覽器點擊鏈接打開apk
為了實現這個功能可折騰了好久,先上一份代碼,經樓主驗證是絕對可以用的而且也比較清晰的代碼!(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傳遞過來的值了。
⑶ URI和URL區別以及相對路徑和絕對路徑的區別
android中的uri即通用資源標識符,universal
resource
identifier,
簡稱uri。
uri代表要操作的數據,android上可用的每種資源
-包括
圖像、視頻片段、音頻資源等都可以用uri來表示。
1、訪問資源的命名機制。
2、資源自身的名稱,由路徑表示。
3、存放資源的主機名。
⑷ 如何在Android中調用瀏覽器打開網頁
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
webView = (WebView) findViewById(R.id.webview);
// 設置支持javascript
webView.getSettings().setJavaScriptEnabled(true);
// 啟動緩存
webView.getSettings().setAppCacheEnabled(true);
// 設置緩存模式
webView.getSettings().setCacheMode(WebSettings.LOAD_DEFAULT);
// 載入網頁
webView.loadUrl("
<a href="http://..com/question/1797038222865379867.html?entry=qb_ihome_tag" target="_blank">http://..com/question/1797038222865379867.html?entry=qb_ihome_tag</a>
");
// 在當前的瀏覽器中響應
webView.setWebViewClient(new WebViewClient());//
需要添加網路<a href="https://www..com/s?wd=%E8%AE%BF%E9%97%AE%E6%9D%83%E9%99%90&tn=44039180_cpr&fenlei=-hPEUiqkIyN1IA-EUBtznWmvrHn3n10zn1csPjcvP1f3" target="_blank" class="-highlight">訪問許可權</a>
⑸ Android如何由Uri創建Drawable
1、首先需根據URL地址獲取圖片,如下所示,urladdr即為圖片地址,返回Drawable對象:
private Drawable loadImageFromNetwork(String urladdr) {
Drawable drawable = null;
try{
drawable = Drawable.createFromStream(new URL(urladdr).openStream(), "image.jpg");
}catch(IOException e){
Log.d("test",e.getMessage());
}
return drawable;
}
2、獲取到圖片後,需要更新主線程UI資源,考慮到時間以及界面反應延遲等,所以採用線程加以處理,如下圖所示:
new Thread(new Runnable(){
Drawable drawable = loadImageFromNetwork(urladdress);
@Override
public void run(){
image.post(new Runnable(){
@Override
public void run(){
image.setImageDrawable(drawable);
}
});
}
private Drawable loadImageFromNetwork(String urladdr) {
//... 略(如 1 中所示)
}
}).start(); //線程啟動
⑹ android studio怎麼調用手機內部瀏覽器
、啟動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就可以調用起手機默認的瀏覽器訪問。
⑺ android中文件uri和url的區別
URL是uniform resource locator,統一資源定位器,它是一種具體的URI,即URL可以用來標識一個資源,而且還指明了如何locate這個資源。而URN,uniform resource name,統一資源命名,是通過名字來標識資源,比如mailto:[email protected]。也就是說,URI是以一種抽象的,高層次概念定義統一資源標識,而URL和URN則是具體的資源標識的方式。URL和URN都是一種URI。
⑻ 程序是連接網路地址用URL uri = new URL("http://www.youku.com/");顯示permission denied,錯誤出在哪
在androidManifest.xml中加上network的permission。
你的問題應該是我說的沒增加許可權的問題,但是你的logcat卻又是另一個問題吧。
⑼ android 顯示本地html,js和css文件應該放在什麼目錄上
你好。
根據你的描述,
android 顯示本地html,js和css文件應該放在什麼位置,
關鍵是你的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「這個形式了
有興趣的可以去試試。