WebView显示VR或者显示H5的VR链接

效果图镇楼 

WebView显示VR或者显示H5的VR链接_第1张图片                       在学会怎么去用WebView 显示VR效果并适配个个手机都能出来的效果后加急写了这篇博客,本尝试了很多方法拿WebView去直接.loadUr 的时候发现在百分之 60 的手机能上能显示出VR效果那百分之40其实显示了我们H5提供的App下载网页,所以一看就知道那百分之40的手机不能不管只能领找方案。

          所以 我简单说一下我最新的处理方案    1  用腾讯的 X5 SDK 进行对Web的显示

                                                                       2  使用Google  的VR处理

       步骤1    导依赖  和架包 

                 

 implementation 'com.tencent.mars:mars-core:1.2.1'
    implementation 'com.just.agentwebX5:agentwebX5:2.0.0'

X5 SDK的下载地址

           将上方的So库全部导入之后进行查看  在build.gradle  是否有

implementation files('libs/tbs_sdk_thirdapp_v3.6.0.1234_43608_80510.jar')

这行代码 如果没有那么进行添加

       MainAcivity  

            

public class MainActivity extends AppCompatActivity {

    //private VrPanoramaView mVrPanoramaView;
    AgentWebX5 mAgentWeb;
    private View top_view;
    private LinearLayout layout_root;
    private RelativeLayout rl_fu;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main3);
        initView();

//传过来的 URL  地址    这边给一个 URLVR的地址方便大家测试


//public static final String BIGURL = "http://newqj.homehawkeye.com//1531471969865_o_1ci9ddq1l8c49lu8f9c1t7t1236//html/index.html?pano_id=CQVHSWRqQICcBKYW";


    String vrurl = getIntent().getStringExtra("url");
        String name = getIntent().getStringExtra("name");

        long l = System.currentTimeMillis();
        String  s="And"+l+"XZ_PQ";
//我们公司使用的加密工具如   读者在用的时候可以进行删除从而直接加载URL
       String d = DesUtil.encryptThreeDESECB_VR(s);
       String url = vrurl +"&d="+d;
//  一下是核心代码
        mAgentWeb = AgentWebX5.with(this)
                .setAgentWebParent(layout_root, new LinearLayout.LayoutParams(-1, -1))//
                .useDefaultIndicator()
                .defaultProgressBarColor()
                .setWebChromeClient(new SubWebChromeClient())
                .setWebViewClient(new SubWebViewClient())
                .setSecutityType(AgentWebX5.SecurityType.strict)
                .createAgentWeb()
                .ready()
                .go(url);
//  go方法中填写 我们 的URL 地址   如果没有加密可以直接写入

    }

    private void initView() {
        top_view = (View) findViewById(R.id.top_view);
        layout_root = (LinearLayout) findViewById(R.id.layout_root);
        rl_fu = (RelativeLayout) findViewById(R.id.rl_fu);
    }

    private class SubWebChromeClient extends WebChromeClient {
        @Override
        public void onProgressChanged(WebView view, int newProgress) {
            super.onProgressChanged(view, newProgress);
            if (newProgress == 100) {
                rl_fu.setVisibility(View.VISIBLE);
            }
        }
    }

    private class SubWebViewClient extends WebViewClient {
        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url) {
            return true;
        }

        @Override
        public void onPageStarted(WebView view, String url, Bitmap favicon) {
            super.onPageStarted(view, url, favicon);
        }

        @Override
        public void onPageFinished(WebView view, String url) {
            super.onPageFinished(view, url);
        }
    }
}

      既然  代码有那么布局我也要分享出来   这是MainActivity的 布局

         




    

    

        


            



            




            


            



        
    


    

        


        

        



        


        

            


            


        

        

            


                


                


                
            


        

    


 

   我们用的X5 需要去初始化所一我们去APP 中进行初始化   , App继承    Application

 

ublic class App extends Application {

    @Override
    public void onCreate() {
        super.onCreate();
        initX5WebView();
    }

    private void initX5WebView() {
        //搜集本地tbs内核信息并上报服务器,服务器返回结果决定使用哪个内核。
        QbSdk.PreInitCallback cb = new QbSdk.PreInitCallback() {
            @Override
            public void onViewInitFinished(boolean arg0) {
                //x5內核初始化完成的回调,为true表示x5内核加载成功,否则表示x5内核加载失败,会自动切换到系统内核。
                Log.d("app", " onViewInitFinished is " + arg0);
            }

            @Override
            public void onCoreInitFinished() {
            }
        };
        //x5内核初始化接口
        QbSdk.initX5Environment(getApplicationContext(), cb);
    }


}

还有就是 去 把  App在清单文件进行添加

 

效果图

WebView显示VR或者显示H5的VR链接_第2张图片

你可能感兴趣的:(WebView显示VR或者显示H5的VR链接)