zoukankan      html  css  js  c++  java
  • Android 通过网络打开自己的APP(scheme)

    通过使用手机的浏览器(内部。第三方能够)访问网页,点击一个链接,开始实施自己的应用程序,和传输数据。

    第一Mainifest面对文件启动Activity添加过滤器。

    <activity
                android:name="com.example.helloworld.MainActivity"
                android:label="@string/app_name" >
                <intent-filter>
                    <action android:name="android.intent.action.MAIN" />
    
                    <category android:name="android.intent.category.LAUNCHER" />
                </intent-filter>
                <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="znn"/>
                </intent-filter>
            </activity>

    在MainActivity接收数据:

    public class MainActivity extends Activity implements View.OnClickListener{
    
    	@Override
    	protected void onCreate(Bundle savedInstanceState) {
    		super.onCreate(savedInstanceState);
    		setContentView(R.layout.activity_main);
    
    		Intent intent = getIntent();
    		String scheme = intent.getScheme();
    		Uri uri = intent.getData();
    		System.out.println("scheme:"+scheme);
    		if (uri != null) {
    			String host = uri.getHost();
    			String dataString = intent.getDataString();
    			String id = uri.getQueryParameter("d");
    			String path = uri.getPath();
    			String path1 = uri.getEncodedPath();
    			String queryString = uri.getQuery();
    			System.out.println("host:"+host);
    			System.out.println("dataString:"+dataString);
    			System.out.println("id:"+id);
    			System.out.println("path:"+path);
    			System.out.println("path1:"+path1);
    			System.out.println("queryString:"+queryString);
    		}
    		
    	}
    }


    写一个最简单的网页:

    <a href="znn://aa.bb:80/test?p=12&d=1">test</a>



    測试地址:www.erdian.net/m.html

    測试结果:

    scheme:znn
    host:aa.bb
    dataString:znn://aa.bb:80/test?

    p=12&id=1
    id:1
    path:/test
    path1:/test

    queryString:p=12&d=1


    http://www.erdian.net/?

    p=238

    版权声明:本文博客原创文章,博客,未经同意,不得转载。

  • 相关阅读:
    成佛、远不止渡沧海
    导航栏中各按钮在点击当前按钮变色其他按钮恢复为原有色的实现方法(vue、jq、原生js)
    vue动态绑定src加字符串拼接
    对象中那些不注意的用法
    vue实现实时监听文本框内容的变化(最后一种为原生js)
    table
    toFixed()精度丢失;复选框全选、取消
    vue.js
    vue项目知识点总结
    JVM基础知识总结
  • 原文地址:https://www.cnblogs.com/mengfanrong/p/4726091.html
Copyright © 2011-2022 走看看