Android使用短信链接打开APP的方法

小编给大家分享一下Android使用短信链接打开APP的方法,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

青河网站制作公司哪家好,找成都创新互联公司!从网页设计、网站建设、微信开发、APP开发、响应式网站建设等网站项目制作,到程序开发,运营维护。成都创新互联公司从2013年开始到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选成都创新互联公司

短信链接跳转APP

平时我们会收到广告短信,比如某东,某宝,里面附加着链接,当你点开链接(手机自带的浏览器),发现浏览器打开后,等一下下,就会打开对应的APP,直接到广告相应的页面。

Android端的代码

从简单的开始,第一个启动的Activity先来处理


  
    
 
    
  
  
  
  
    
 
    
    
    
  

2.HTML代码,关键就是href,就是之前Android启动intent-filter的 “ [scheme的内容]” + “ :” 这个冒号不能少




  Android短信测试


  启动程序

3.测试一下,能不能启动App,我们没有服务器的情况下,可以把这段HTML代码拷贝到手机里,点击选择品牌自带浏览器启动就可以啦。

Android使用短信链接打开APP的方法

基本启动功能.gif

最基本的功能实现啦,然后我再传递参数,打开指定的页面。

1.HTML的跳转链接里面添加参数

随意什么内容...

启动红色程序
启动黄色色程序,url空
启动绿色程序,name空

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

参数可以传空的,如果是中文要转码,断点看看参数

Android使用短信链接打开APP的方法

3.测试。

Android使用短信链接打开APP的方法

参数跳转.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空

Manifest代码最上面有了

以上是“Android使用短信链接打开APP的方法”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注创新互联行业资讯频道!


网站名称:Android使用短信链接打开APP的方法
文章位置:http://ybzwz.com/article/pgphod.html