1.uniapp 怎么集成 android 原生 activity
2.现在需要 原生Android程序 跳转到 uniapp的指定页面,并且携带参数 . 这两个 是相互独立的程序. 让它们之间产生交互.
3.可以帮忙下载资源 我有会员
可以利用scheme协议实现
最近公司要求研究一下 uniapp 的 android 原生插件的开发,为以后的工作做准备。这篇文章记录一下自己的学习过程,也帮助一下有同样需求的同学们 : )
我可以回答这个问题。
首先,需要在Android原生应用程序中创建一个activity,这个 activity 中需要使用 uni-app 创建的 webview 渲染 uni-app 程序。相关的代码如下:
public class UniAppActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_uni_app);
WebView webview = (WebView) findViewById(R.id.webview);
WebSettings settings = webview.getSettings();
settings.setJavaScriptEnabled(true);
settings.setDomStorageEnabled(true);
settings.setDatabaseEnabled(true);
settings.setUseWideViewPort(true);
settings.setLoadWithOverviewMode(true);
settings.setSupportZoom(true);
settings.setBuiltInZoomControls(true);
UniWebViewBridge.attachWebView(webview);
webview.loadUrl("file:///android_asset/hello_uniapp/index.html");
}
}
完成这个 activity 后,需要在指定的位置添加一个 WebView 来加载 uni-app 程序。在上述代码中,我们加载了一个位于 assets 目录下的 index.html 文件。
在完成这个 activity 后,需要在 AndroidManifest.xml 文件中添加如下代码:
<activity android:name=".UniAppActivity"></activity>
这样就可以在 uni-app 的代码中直接调用这个 activity,以实现跳转和传参。
在原生 Android 程序中,可以使用 Intent 实现跳转,并通过 Bundle 来传递参数。相关代码如下:
Intent intent = new Intent(context, UniAppActivity.class);
Bundle bundle = new Bundle();
bundle.putString("name", "张三");
bundle.putInt("age", 18);
Uri uri = Uri.parse("uniapp://page?id=1001&title=hello");
intent.setData(uri);
intent.putExtras(bundle);
context.startActivity(intent);
在上述代码中,我们使用 Intent 指定要跳转到的 activity(也就是前面提到的 UniAppActivity),并使用 Bundle 来传递参数。除此之外,我们还可以使用 Uri 对象来传递参数,这样就可以更方便地解析参数了。
在 uni-app 程序中,则需要在 App.vue 中添加以下代码,来捕获跳转和传参:
onLaunch(options) {
console.log('App Launch', options)
},
onShow(options) {
console.log('App Show', options)
if (options && options.query) {
console.log(options.query)
}
},
通过在 App.vue 中实现 onShow 方法,就可以在 uni-app 程序中捕获原生 Android 传递过来的参数了。需要注意的是,这里的参数是通过 query 字段传递过来的。
对于这个问题,我无法直接提供帮助,需要更具体的信息和指引才能展开解决方案。需要请提出更具体的需求和问题。