android 第三方應用 啟動app

2021-10-02 23:50:08 字數 2152 閱讀 4915

manifest中 data的語法:

uri的格式:scheme://host:port/path or pathprefix or pathpattern

如果scheme沒有指定,那其它的屬性均無效;

如果host沒有指定,那麼port,path,pathprefix,pathpattern均無效;

如果在manifest裡這樣寫:那麼uri uri = uri.parse("something:"); 才可以匹配

再如:等同於這樣寫:

那麼uri uri = uri.parse("something::80"); 才可以匹配

可以有多個data,只需匹配其中乙個即可

android中第三方應用啟動本地應用的方式有三種:1、通過包名啟動 2、通過scheme啟動 3、通過webview啟動

方式一:

intent  mintent =new intent();

mintent.setclassname("包名", "要啟動的activity(全稱)");

startactivity(mintent);

注意:要啟動的activity需要設定 android:exported="true"的屬性,支援外部應用開啟。而通過scheme啟動則不需要。

注意:要啟動的activity需要設定 android:exported="true"的屬性,支援外部應用開啟。而通過scheme啟動則不需要。

方式二:

intent launchintent = context.getpackagemanager().getlaunchintentforpackage(packagename);

context.startactivity(launchintent);

這個方式我感覺類似於雙擊home鍵之後選中應用,從activity棧裡面把之前的頁面展示到前台棧中。

跳轉到我們系統中的一些標準功能都是通過scheme跳轉實現的,比如跳轉到打**,跳轉到簡訊等。

intent dialintent =  new intent(intent.action_call,uri.parse("tel:" + phonenumber));//直接撥打**

startactivity(dialintent);

跳轉到我們本地應用:

intent it = new intent(intent.action_view, uri.parse("warehouse://?where_shotcut="));

context.startactivity(it);

格式含義:

scheme://host:8080/path?query1=1&query2=true

● scheme代表scheme協議名稱

● host代表scheme作用的位址域

● 8080代表改路徑的埠號

● path代表的是指定頁面(路徑)

● query1和query2代表傳遞的兩個引數

string url ="ntclound://nthost?data1=1&data2=2";

mwebview.loadurl(url);

//覆蓋webview預設使用第三方或系統預設瀏覽器開啟網頁的行為,使網頁用webview開啟

mwebview.setwebviewclient(new webviewclient() catch (exception e)

return true;

}else

return true;

} ....

}

// 啟動**

webview.loadurl("scheme://host?key1=引數1&key2=引數2");

// 本地應用解析

intent intent = getintent();

string scheme = intent.getscheme();

uri uri = intent.getdata();

system.out.println("scheme:"+scheme);

if (uri != null)

Android 啟動第三方應用

一 程式中呼叫其它程式,如下 在 中 com.x 是要開啟的程式包名,com.xx 是要開啟的activity 下面是實現 packageinfo pi getpackagemanager getpackageinfo packagename,0 intent resolveintent new i...

Android啟動第三方應用程式

兩種方式啟動 第一 intent intent new intent intent.setclassname 包名 要啟動應用的activity startactivity intent 另外一種 intent intent new intent intent mainactivity.this.g...

android 第三方拉起應用的實現。

基於廣播去實現的,自己定義乙個廣播並將其註冊到androidmanifest.xml中,加上對應的action,在 中接收到這個廣播後啟動我們的應用。這樣做有個小問題,就是第三方拉起的時候必須我們應用啟動了一次後才能正常拉起,是因為我們的應用沒有做開機自啟動吧。好了,先上接收廣播的 public c...