Ⅰ oppo瀏覽器跳轉app設置
這種情況可能是因為應用自啟動或關聯啟動。
「自啟動管理」可管理自啟動應用,也可在此處查看攔截記錄。設置方法:
1、ColorOS 7及以上版本:「設置 > 應用管理 > 自啟動管理」;
2、ColorOS 3.0-6.1.2版本:「手機管家 > 許可權隱私 > 自啟動管理」。
關聯啟動設置方法:
「設置 > 應用管理 > 關聯啟動管理」,可管理應用間的關聯啟動,也可在此處查看攔截記錄。
本回答適用於OPPO所有機型。
Ⅱ iOS-Safari跳轉到App和App應用內跳轉到手機App
一 Safari跳轉到App
1、Safari瀏覽器跳轉到第三方的App,就卜者需要在你的App中定義一個特殊的標示,也就是一個URL協議,TARGETS -> info ->穗弊鉛 URL Types -> 添加一個URL協議
二 App應用呢跳轉到手機App
http://www.cocoachina.com/ios/20151209/14547.html 跳到系統設置里猜好的各種設置界面
Ⅲ 如何從微信瀏覽器中跳轉到APP指定頁面
1、URL Scheme
URL Scheme是iOS、android都兼容的機制,只需要原生App開發時注冊Scheme即可,用戶點擊此類鏈接時,會自動喚醒App,並藉助URL Router機制跳轉到指定頁面。
盡管URL Scheme兼容性高,但卻存在許多限制,比如:
國內各個廠商瀏覽器差異很大,當要被喚醒的目標App未安裝時,這個鏈接很容易出錯。
當注冊有多個Scheme相同的時候,目前是沒有辦法區分的。
不支持從其他App中的UIWebView中跳轉到目標App。
被部分主流平台禁止,微信、微博、QQ瀏覽器、手機網路中都已經被禁止使用。
2、蘋果的Universal Link
Universal Link是iOS9後蘋果推出的通用鏈接技術,能夠方便地通過一個https鏈接來打開App指定頁面,不需要額外的判斷,如果沒有安裝App,可以跳轉到自定義地址。
相對Scheme的優勢在於,Universal Link是一個Web Link,因此少了很多麻煩。
3、安卓的App Links
Android M以上版本可以通過App Links,讓用戶在點擊一個鏈接時跳轉到App的指定頁面,前提是這個App已經安裝並經過驗證。App Links的最大的作用,就是可以避免從頁面喚醒App時出現的選擇瀏覽器選項框,前提是必須注冊相應的Scheme,就可以實現直接打開關聯的App。
4、第三方服務(集成SDK)
如果嫌精準度不夠高或者實現難度太大的話,可以直接集成SDK實現,畢竟這幾項技術是基於系統平台的,Android 及 iOS 每個系統版本的迭代後,配置方式都會有新的變化,且國內安卓機型眾多,瀏覽器眾多等也會導致出現兼容問題,開發者自行研發的話,資源配置以及系統更新後的維護成本是比較高的,還要考慮各種各樣的跳轉場景問題。比如openinstall等第三方SDK。
Ⅳ 安卓開發點擊按鈕跳轉到另一個app
最近,一個app啟動另一個app,這個玩法挺火的嘛,有沒有試過更新QQ到5.1版本,QQ的健康裡面就可以添加其他app,實現從QQ跳轉到其他app應用。這個挺好玩的,一下子帶來了多少流量啊。
一、先來幾行代碼,一個app啟動另一個app
java">//通過包名獲取要跳轉的app,創建intent對象Intentintent=getPackageManager().getLaunchIntentForPackage("com.example.liuxiang");
//這里如果intent為空,就說名沒有安裝要跳轉的應用嘛
if(intent!=null){
//這里跟Activity傳遞參數一樣的嘛,不要擔心怎麼傳遞參數,還有接收參數也是跟Activity和Activity傳參數一樣
intent.putExtra("name","Liuxiang");
intent.putExtra("birthday","1983-7-13");
startActivity(intent);
}else{
//沒有安裝要跳轉的app應用,提醒一下
Toast.makeText(getApplicationContext(),"喲,趕緊下載安裝這個APP吧",Toast.LENGTH_LONG).show();
}
這里或許網上有很多類似代碼,還是提一下,讓大家知道流程。
二、被啟動的app如何獲取參數呢?
{
@Override
protectedvoidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Intentintent=getIntent();
Bundlebundle=intent.getExtras();
if(bundle!=null){
Stringname=bundle.getString("name");
Stringbirthday=bundle.getString("birthday");
if(name!=null&&birthday!=null){
Toast.makeText(getApplicationContext(),"name:"+name+"birthday:"+birthday,Toast.LENGTH_SHORT).show();
}
}
}
}
在被打開的app應用,也是簡單地幾行代碼可以接收到傳過來的參數信息。這里的bundle如果為空,就說明不是跳轉過來的,可能是用戶收到點擊桌面圖標打開app,這樣肯定就沒有參數值啦。趕緊玩玩吧。
等等,,,別以為,就這樣完了,還有更重要的在後面呢:怎麼保證沒次跳轉都能接收到參數呢,這個要考慮下了。
三、遇到的問題:無法每次跳轉都拿到參數,這是為什麼呢?
經過研究,必須每次都要打開啟動的Activity才能接收到,因為傳遞過來的參數就是送到啟動的Activity(android.intent.action.MAIN),在其他Activity怎麼能拿到參數數據。所以必須每次跳轉過來都要第一個打開啟動的Activity,這是一種解決方法。
為了保證被打開app每次都進入啟動的Activity,這里寫一個歡迎頁面(WellcomeActivity)
{privatefinalstaticintMSG_200=200;
HandlermHandler=newHandler(){
@Override
publicvoidhandleMessage(Messagemsg){
switch(msg.what){
caseMSG_200:
Intentintent=newIntent(WellcomeActivity.this,MainActivity.class);
startActivity(intent);
finish();
break;
default:
break;
}
}
};
@Override
protectedvoidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_wellcome);
Intentintent=getIntent();
Bundlebundle=intent.getExtras();
if(bundle!=null){
Stringname=bundle.getString("name");
Stringbirthday=bundle.getString("birthday");
if(name!=null&&birthday!=null){
Toast.makeText(getApplicationContext(),"name:"+name+"birthday:"+birthday,Toast.LENGTH_SHORT).show();
TextViewt=(TextView)findViewById(R.id.tv_wellcome);
t.setText("name:"+name+"birthday:"+birthday);
}
}
mHandler.sendEmptyMessageDelayed(MSG_200,3000);
}
@Override
publicvoidonBackPressed(){
}
}
這里每次都可以拿到參數了,可以做自己想做的事情了,可以保存到ShareMamager或者資料庫,做相應地操作。
然後再進入Activity (MainActivity)
{
@Override
protectedvoidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}