android Web跳轉(zhuǎn)到app指定頁(yè)面并傳遞參數(shù)實(shí)例
下面將實(shí)現(xiàn) Web跳轉(zhuǎn)到app指定頁(yè)面并傳遞參數(shù) 總結(jié)
先看效果圖:
h5頁(yè)面代碼:
<!doctype html> <html> <head> <meta charset="utf-8"> <meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no" /> <title>頁(yè)面測(cè)試</title> </head> <body> <!-- [share]://[host]/[path]?[query] scheme:判別啟動(dòng)的App host:適當(dāng)記述 path:傳值時(shí)必須的key 沒(méi)有也可以 query:獲取值的Key和Value 沒(méi)有也可以 --> < a href="test://article/attr?title=攝影大賽&content=大家都來(lái)參加!" rel="external nofollow" >啟動(dòng)應(yīng)用程序</ a> </body> </html>
android 端
1.在清單文件中設(shè)置:parentActivity 以及 data 值需和html對(duì)應(yīng)
<activity android:name=".MainActivity"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name=".SecondActivity" android:parentActivityName=".MainActivity"> <!--申明parentActivity,用戶按返回鍵后返回主頁(yè)面--> <meta-data android:name="android.support.PARENT_ACTIVITY" android:value=".MainActivity" /> <intent-filter> <action android:name="android.intent.action.VIEW" /> <category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.BROWSABLE" /> <!--下面所設(shè)置的data值需要和html端對(duì)應(yīng)--> <!--在data里設(shè)置了 scheme和host,則該Activity可以接收和處理類似于 "test://article/attr"的鏈接--> <data android:host="article" android:scheme="test" android:pathPrefix="/attr" /> </intent-filter> </activity>
2.在SecondActivity中 獲取傳遞的參數(shù)以及在返回時(shí)需要做處理:
public class SecondActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_second); TextView mTextView = (TextView) findViewById(R.id.textview); //獲取網(wǎng)頁(yè)傳遞過(guò)來(lái)的參數(shù) Intent mgetvalue = getIntent(); String maction = mgetvalue.getAction(); if (Intent.ACTION_VIEW.equals(maction )) { Uri uri = mgetvalue.getData(); if (uri != null) { String title = uri.getQueryParameter("title"); String content = uri.getQueryParameter("content"); mTextView.setText("網(wǎng)頁(yè)傳遞值為:title=" + title + ",content=" + content); } } } /** *返回處理,防止點(diǎn)擊返回按鈕的時(shí)候,會(huì)直接退出當(dāng)前app **/ @Override public void onBackPressed() { //NavUtils.getParentActivityIntent()方法可以獲取到跳轉(zhuǎn)至父Activity的Intent或者為null //NavUtils.shouldUpRecreateTask() 返回true父Activity應(yīng)該重新創(chuàng)建一個(gè)新的任務(wù)棧,返回false同樣的任務(wù)棧應(yīng)該被使用作為目標(biāo)Intent //isTaskRoot()用來(lái)判斷該Activity是否為任務(wù)棧中的根Activity,即啟動(dòng)應(yīng)用的第一個(gè)Activity Intent upIntent = NavUtils.getParentActivityIntent(this); if (NavUtils.shouldUpRecreateTask(this, upIntent) || isTaskRoot()) { //如果父Activity和當(dāng)前Activity不在同一個(gè)Task中的,則需要借助TaskStackBuilder創(chuàng)建一個(gè)新的Task TaskStackBuilder.create(this) .addNextIntentWithParentStack(upIntent) .startActivities(); } else { //如果父Activity和當(dāng)前Activity是在同一個(gè)Task中的,則直接調(diào)用navigateUpTo()方法進(jìn)行跳轉(zhuǎn) upIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); NavUtils.navigateUpTo(this, upIntent); } super.onBackPressed(); } }
以上這篇android Web跳轉(zhuǎn)到app指定頁(yè)面并傳遞參數(shù)實(shí)例就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Android開(kāi)發(fā)實(shí)現(xiàn)圖片大小與質(zhì)量壓縮及保存
這篇文章主要為大家介紹了Android開(kāi)發(fā)實(shí)現(xiàn)圖片大小與質(zhì)量壓縮及保存的方法,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-04-04Android自定義View實(shí)現(xiàn)圓弧進(jìn)度的效果
這篇文章主要為大家詳細(xì)介紹了Android自定義View實(shí)現(xiàn)圓弧進(jìn)度的效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-01-01Android實(shí)現(xiàn)圖片疊加效果的兩種方法
這篇文章主要介紹了Android實(shí)現(xiàn)圖片疊加效果的兩種方法,結(jié)合實(shí)例形式分析了Android實(shí)現(xiàn)圖片疊加效果的兩種操作方法與相關(guān)注意事項(xiàng),需要的朋友可以參考下2016-08-08Android輸入框添加emoje表情圖標(biāo)的實(shí)現(xiàn)代碼
這篇文章主要為大家詳細(xì)介紹了Android輸入框添加emoje表情圖標(biāo)的實(shí)現(xiàn)代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-11-11淺談Android app開(kāi)發(fā)中Fragment的Transaction操作
這篇文章主要介紹了Android app開(kāi)發(fā)中Fragment的Transaction操作,包括Transaction和Fragment的生命周期的聯(lián)系等內(nèi)容,需要的朋友可以參考下2016-02-02Android Activity的4種啟動(dòng)模式圖文介紹
這篇文章主要給大家介紹了關(guān)于Android Activity的4種啟動(dòng)模式,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-11-11android中ListView多次刷新重復(fù)執(zhí)行g(shù)etView的解決方法
以前倒是沒(méi)有注意listview的getView會(huì)重復(fù)執(zhí)行多次,在測(cè)試的時(shí)候去斷點(diǎn)跟蹤,發(fā)現(xiàn)同一條數(shù)據(jù)不斷的重復(fù)執(zhí)行,下面與大家分享下正確的解決方法,希望對(duì)你有所幫助2013-06-06Android實(shí)現(xiàn)計(jì)步傳感器功能
這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)計(jì)步傳感器功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-01-01Android通過(guò)XListView實(shí)現(xiàn)上拉加載下拉刷新功能
這篇文章主要為大家詳細(xì)介紹了Android通過(guò)XListView實(shí)現(xiàn)上拉加載下拉刷新功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-12-12Android RecyclerView藝術(shù)般的控件使用完全解析
這篇文章主要介紹了Android RecyclerView藝術(shù)般的控件使用完全解析的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2016-07-07