Web跳轉(zhuǎn)到app指定頁面并傳值

在manifest文件中申明scheme和parentActivity

<activity android:name=".SecondActivity"
            android:parentActivityName=".MainActivity">
            <!--申明parentActivity,用戶按返回鍵后返回主頁面-->
            <!--在Android 4.1版本之后,可以直接使用android:parentActivityName這個屬性來進行指定-->
            <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" />

                <!--下面所設置的值需要和html端對調(diào)-->
                <!--在data里設置了 scheme和host,則該Activity可以接收和處理類似于 "share://article/XXX"的鏈接-->
                <data
                    android:host="article"
                    android:scheme="share"
                    android:pathPrefix="/attr" />
            </intent-filter>
</activity>

h5跳轉(zhuǎn)

<a href="[scheme]://[host]/[path]?[query]">啟動應用程序</a> 
示例
<a href="share://article/attr?name=zhangsan&age=26">啟動應用程序</a>  

scheme:判別啟動的App
host:適當記述
path:傳值時必須的key ※沒有也可以
query:獲取值的Key和Value ※沒有也可以

activity中獲取傳遞過來的參數(shù)

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");  
    }  
}

在二級頁面中對返回鍵做處理

由于是網(wǎng)頁打開的app指定二級頁面,activity棧中只存在SecondActivity這一個activity,所以當點擊返回按鈕的時候,會直接退出當前app。我們希望按返回的時候,回到MainActivity,所以這里需要處理一下

@Override
public void onBackPressed() {
        //NavUtils.getParentActivityIntent()方法可以獲取到跳轉(zhuǎn)至父Activity的Intent
        //如果父Activity和當前Activity是在同一個Task中的,則直接調(diào)用navigateUpTo()方法進行跳轉(zhuǎn)
        //如果不在同一個Task中的,則需要借助TaskStackBuilder創(chuàng)建一個新的Task
        Intent upIntent = NavUtils.getParentActivityIntent(this);
        if (NavUtils.shouldUpRecreateTask(this, upIntent)) {
            TaskStackBuilder.create(this)
                    .addNextIntentWithParentStack(upIntent)
                    .startActivities();
        } else {
            upIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
            NavUtils.navigateUpTo(this, upIntent);
        }
        super.onBackPressed();
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,027評論 25 709
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,554評論 19 139
  • 1.s型動態(tài) 2.遮擋關(guān)系 3.近大遠小 4.表情豐富 5.線條
    者敖閱讀 140評論 0 0
  • 此處主要配置Spring cloud config ++client++ 在項目pom文件中添加如下依賴 添加de...
    AAorange閱讀 924評論 0 0
  • 文|秋思說財 未經(jīng)允許 不得轉(zhuǎn)載 在《基金定投你真的了解嗎?為什么它比一次性投資好?》一文中,基金定投是在牛市、熊...
    秋思說閱讀 1,052評論 2 6

友情鏈接更多精彩內(nèi)容