美文网首页
外部Webview链接JS、浏览器链接JS唤醒Android A

外部Webview链接JS、浏览器链接JS唤醒Android A

作者: 全球顶尖伪极客 | 来源:发表于2018-11-13 17:28 被阅读0次
    • AndroiManifest.xml中配置,设置App启动入口Activity的接收Action的属性
     <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="cc"/>
     </intent-filter>
    
    • 完整示例
     <!-- 欢迎界面 -->
            <activity
                android:name=".WelcomeClient"
                android:label="${app_name}"
                android:screenOrientation="portrait"
                android:theme="@style/WelcomeActivityTheme">
                <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="cc"/>
                </intent-filter>
    
                <meta-data
                    android:name="expires"
                    android:value="2018-11-13 00:00"/>
            </activity>
    
    
    • expires :说明配置文件中配置的expires失效时间格式为年月日小时分钟yyyy-MM-dd HH:mm,跟根据这个判断该APP包的使用期限(仅限制测试包)。
     ActivityInfo info = getPackageManager().getActivityInfo(getComponentName(),  
           PackageManager.GET_META_DATA);
     String expiresFormat = info.metaData.getString("expires");
     SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm");
     final boolean qidong = sdf.parse(expiresFormat).after(new Date());
    
    • 启动入口WelcomeClient中的oncreate代码获取
       //cc://?open={"openType":"url", "openUrl", "http://www.baidu.com"}
           try {
                if (getIntent() != null && getIntent().getData() != null) {
                    Uri uri = intent.getData();
                    externUrl = getIntent().getData().toString();
                    externUrl = URLDecoder.decode(externUrl, "utf-8");
                    Log.i("CESHI", "链接地址:"+externUrl);
                    App.externURLFromBrowser = externUrl;
                  
                    String dataString = intent.getDataString();
                    String scheme = uri.getScheme();
                    String host = uri.getHost();
                    String query = uri.getQuery();
                }
            } catch (Exception e) {
                e.printStackTrace();
            }
    

    相关文章

      网友评论

          本文标题:外部Webview链接JS、浏览器链接JS唤醒Android A

          本文链接:https://www.haomeiwen.com/subject/hnxlfqtx.html