短信链接跳转APP
平时我们会收到广告短信,比如某东,某宝,里面附加着链接,当你点开链接(手机自带的浏览器),发现浏览器打开后,等一下下,就会打开对应的APP,直接到广告相应的页面。
Android端的代码
从简单的开始,第一个启动的Activity先来处理
2.HTML代码,关键就是href,就是之前Android启动intent-filter的 “ [scheme的内容]” + “ :” 这个冒号不能少
Android短信测试 启动程序
3.测试一下,能不能启动App,我们没有服务器的情况下,可以把这段HTML代码拷贝到手机里,点击选择品牌自带浏览器启动就可以啦。
基本启动功能.gif
最基本的功能实现啦,然后我再传递参数,打开指定的页面。
1.HTML的跳转链接里面添加参数
scheme:启动的App的标识,相当于协议吧。
host:域名,不重要。
query:传给app参数的Key和Value 。
2.Android代码,在第一启动页加入下面代码
public static final String TYPE_INTENT = "type"; public static final String URL_INTENT = "url"; public static final String NAME_INTENT = "name"; if (intent.getData() != null) { Uri uri = intent.getData(); uri.getScheme();//获取scheme uri.getHost();//获取host uri.getAuthority();//获取authority String type = uri.getQueryParameter(TYPE_INTENT);//获取传递参数 String url = uri.getQueryParameter(URL_INTENT); String name = uri.getQueryParameter(NAME_INTENT); //标题转UTF-8码 if (!TextUtils.isEmpty(name)) { try { name = URLDecoder.decode(name, "UTF-8"); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } } }
参数可以传空的,如果是中文要转码,断点看看参数
3.测试。
参数跳转.gif
4.总结,短信跳转App难度不大,就是基本用原生或者chrome内核的浏览器,支持跳转,其他浏览器兼容问题会有。
5.代码不多,就直接放出来。
ActivityFirst代码
public class ActivityFirst extends AppCompatActivity { public static final String TYPE_INTENT = "type"; public static final String URL_INTENT = "url"; public static final String NAME_INTENT = "name"; @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.first_activity); //如果是从网址打开的 Intent intent = getIntent(); if (intent.getData() != null) { Uri uri = intent.getData(); uri.getScheme();//获取scheme uri.getHost();//获取host uri.getAuthority();//获取authority String type = uri.getQueryParameter(TYPE_INTENT); String url = uri.getQueryParameter(URL_INTENT); String name = uri.getQueryParameter(NAME_INTENT); //标题转UTF-8码 if (!TextUtils.isEmpty(name)) { try { name = URLDecoder.decode(name, "UTF-8"); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } } //获取到的参数跳转 Intent intentStart = new Intent(this,ActivityMain.class); intentStart.putExtra(TYPE_INTENT,type); intentStart.putExtra(URL_INTENT,url); intentStart.putExtra(NAME_INTENT,name); startActivity(intentStart); finish(); } } }
HTML代码
Android短信测试 启动红色程序
启动黄色色程序,url空
启动绿色程序,name空
火柴人绳索英雄2无限金币版 (Stickman Rope Hero 2)安卓版v2.2v3.4.2
下载奥特曼之格斗超人内测版本 安卓最新版v11.0.0
下载奥特曼之格斗超人百度版 安卓版v11.0.0
下载奥特曼之格斗超人4399游戏盒版 最新安卓版v11.0.0
下载德凯奥特曼D闪光剑模拟器 安卓版v1.0
德凯奥特曼D闪光剑模拟器是一个非常有趣的奥特曼变身模拟器,可
亚刻觉醒器 安卓版v1.1
亚刻觉醒器模拟器是一个非常有趣的奥特曼变身模拟器,为喜欢亚刻
海上餐厅无限金币版 v1.0
海上餐厅免广告版是游戏的破解版本,在该版本中为玩家去除了广告
阿西美女室友竟然全解锁版 v1.0.2
阿西美女室友竟然内置菜单版是游戏的破解版本,在该版本中为玩家
我是大东家正版 最新版v1.2.738
我是大东家正版是一款放置类模拟经营手游,玩家将回到古代成为家