Android如何通過scheme跳轉(zhuǎn)界面
Android通過scheme跳轉(zhuǎn)界面,應該如何實現(xiàn)?
需求
通過后臺返回鏈接地址
eg: app://com.bobo.package/path?param1=abc¶m2=cde
跳轉(zhuǎn)到指定的Activity 并帶入?yún)?shù)
實現(xiàn)
1.在manifest中配置Activity
<activity android:name=".ActivityName">
<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="app"
android:host="com.bobo.package"
android:path="/path"/>
</intent-filter>
</activity>
2.實現(xiàn)跳轉(zhuǎn)
private void startActivity(Context context) {
try {
Uri uri = Uri.parse("app://com.bobo.package/path?param1=abc¶m2=cde");
Intent intent = new Intent();
intent.setAction(Intent.ACTION_VIEW);
intent.setData(uri);
PackageManager packageManager=getPackageManager();
ComponentName componentName=intent.resolveActivity(packageManager);
if (componentName!=null){
context.startActivity(intent);
}
} catch (Exception e) {
e.printStackTrace();
}
}
3.Activity中處理數(shù)據(jù)獲取參數(shù)
private void dealScheme() {
Intent intent = getIntent();
String action = intent.getAction();
Uri uri=null;
if (Intent.ACTION_VIEW.equals(action)) {
Uri uri= intent.getData();
}
if(uri==null)
return;
String param1=url.getQueryParameter("param1");
String param2=url.getQueryParameter("param2");
// doSomething(param1,param2);
}
填坑
1.如下兩個Activity 當通過scheme 跳轉(zhuǎn)界面時 ,系統(tǒng)會提示選擇打開方式 因為沒有精確匹配要跳哪個界面
<activity android:name=".ActivityAAAAAA">
<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="app"/*沒有配置host 和path*/
/>
</intent-filter>
</activity>
<activity android:name=".ActivityBBBBBB">
<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="app"
android:host="com.bobo.package"
/>
</intent-filter>
</activity>
2.如果不同的鏈接都要跳到一個Activity
eg: app://com.bobo.package/path?param1=abc¶m2=cde
application://host/route?param1=abc¶m2=cde
Activity配置
<activity android:name=".ActivityName">
<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="app"
android:host="com.bobo.package"
android:path="/path"/>
<data android:scheme="application"
android:host="host"
android:path="/route"/>
</intent-filter>
</activity>
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
android通過代碼的形式來實現(xiàn)應用程序的方法
因為應用程序的安裝與卸載模塊在android系統(tǒng)中已經(jīng)寫好了,所以我們只需要激活就行了2013-10-10
Android利用RenderScript實現(xiàn)毛玻璃模糊效果示例
毛玻璃效果(亦稱磨砂效果),近兩年在移動端的UI設計上越來越流行,下面這篇文章主要介紹了Android利用RenderScript實現(xiàn)毛玻璃模糊效果的相關資料,文中給出了詳細的示例代碼,需要的朋友可以參考學習,下面來一起看看吧。2017-03-03
android popuwindow點擊外部窗口不消失的實例
下面小編就為大家?guī)硪黄猘ndroid popuwindow點擊外部窗口不消失的實例。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-04-04
Android數(shù)據(jù)持久化之SQLite數(shù)據(jù)庫用法分析
這篇文章主要介紹了Android數(shù)據(jù)持久化之SQLite數(shù)據(jù)庫用法,結合實例形式分析了SQLite概念、功能、相關操作類與使用技巧,需要的朋友可以參考下2017-05-05
Android實現(xiàn)讓圖片在屏幕上任意移動的方法(拖拽功能)
這篇文章主要介紹了Android實現(xiàn)讓圖片在屏幕上任意移動的方法,實例分析了Android拖拽功能的相關實現(xiàn)技巧,需要的朋友可以參考下2016-08-08
實現(xiàn)activity管理器一次退出所有activity
退出所有Activity網(wǎng)上有很多很多種說法,推薦的一種方法是自定義一個Activity管理器,來管理所有已打開的Activity,要退出的時候再通過這個管理器來退出所有Activity,下面是一個簡單的Activity管理器代碼2014-01-01

