日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > Android >内容正文

Android

android scheme 参数解析,Android 利用scheme协议进行跳转

發(fā)布時(shí)間:2023/12/18 Android 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 android scheme 参数解析,Android 利用scheme协议进行跳转 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

什么是 URL Scheme?

android中的scheme是一種頁面內(nèi)跳轉(zhuǎn)協(xié)議。

通過定義自己的scheme協(xié)議,可以非常方便跳轉(zhuǎn)app中的各個(gè)頁面;

通過scheme協(xié)議,服務(wù)器可以定制化告訴App跳轉(zhuǎn)到APP內(nèi)部頁面。

之前項(xiàng)目都是我們客戶端和服務(wù)器端用自定義json串的形式來告訴客戶端如何跳轉(zhuǎn),這種方式要手動(dòng)解析字段,有點(diǎn)麻煩。然而scheme協(xié)議自帶字段解析,非常之方便,后面我們就放棄了json解析的方式。

Scheme協(xié)議在Android中使用場景

H5跳轉(zhuǎn)到native頁面

客戶端獲取push消息中后,點(diǎn)擊消息跳轉(zhuǎn)到APP內(nèi)部頁面

APP根據(jù)URL跳轉(zhuǎn)到另外一個(gè)APP指定頁面

利用scheme協(xié)議跳轉(zhuǎn)的一個(gè)完整實(shí)例

在Mainefest配置文件中配置需要用scheme協(xié)議跳轉(zhuǎn)的Activity

android:name=".SchemeActivity"

android:label="@string/app_name">

模擬從網(wǎng)絡(luò)中獲取scheme協(xié)議的url

public class MainActivity extends AppCompatActivity {

private TextView btnSchemeTv;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

btnSchemeTv = (TextView) findViewById(R.id.btn_scheme_tv);

btnSchemeTv.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View view) {

/**

* (1)在manifest配置文件中配置了scheme參數(shù)

* (2)網(wǎng)絡(luò)端獲取url

* (3)跳轉(zhuǎn)

*/

String url = "scheme://mtime/goodsDetail?goodsId=10011002";

Intent intent = new Intent(Intent.ACTION_VIEW,

Uri.parse(url));

startActivity(intent);

}

});

}

}

獲取scheme協(xié)議參數(shù)

public class SchemeActivity extends Activity {

private static final String TAG = "SchemeActivity";

private TextView schemeTv;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_scheme);

schemeTv = (TextView) findViewById(R.id.scheme_tv);

Uri data = getIntent().getData();

Log.i(TAG, "host = " + data.getHost() + " path = " + data.getPath() + " query = " + data.getQuery());

String param = data.getQueryParameter("goodsId");

schemeTv.setText("獲取的參數(shù)為:" + param);

}

}

總結(jié)

以上是生活随笔為你收集整理的android scheme 参数解析,Android 利用scheme协议进行跳转的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。