## 启动 需要在打开uni-app x的地方添加如下代码,触发逻辑即可打开uni-app x。 ```kotlin startActivity(Intent(this, UniAppActivity::class.java)) ``` 连接手机,点击运行按钮,可以在手机上查看效果。 ![avatar](https://img.cdn.aliyun.dcloud.net.cn/nativedocs/5%2BSDK-android/image/7-6.png) ## 通信 ### 广播方式 实现实时通讯可以通过安卓原生的广播通信的方式。 #### uni-app x项目 首先需要在当前页面注册一个BroadcastReceiver接受android原生应用发送的广播信息。 发送广播可以通过`UTSAndroid.getUniActivity()?.sendBroadcast(intent)`将信息传送到原生。 ```uvue ``` #### android原生项目 首先需要在当前activity注册一个BroadcastReceiver接受uni-app x发送的广播信息。 发送广播可以通过`sendBroadcast(inte)`将信息传送到uni-app x。 ```kotlin class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.main_activity) findViewById(R.id.btn_goto).setOnClickListener { startActivity(Intent(this@MainActivity, UniAppActivity::class.java)) ContextCompat.registerReceiver(this,broadcast, IntentFilter("ACTION_TO_NATIVE"), ContextCompat.RECEIVER_EXPORTED) } } private val broadcast = object : BroadcastReceiver() { val handler = Handler(Looper.getMainLooper()) override fun onReceive(context: Context, intent: Intent) { if(intent.action == "ACTION_TO_NATIVE") { Toast.makeText(context, intent.getStringExtra("key"), Toast.LENGTH_SHORT).show() handler.postDelayed({ val inte = Intent("ACTION_FROM_NATIVE") inte.putExtra("key", "接受来自原生的广播") sendBroadcast(inte) }, 3000) } } } override fun onDestroy() { super.onDestroy() unregisterReceiver(broadcast) } } ``` **注意:广播要在页面关闭的时候取消注册,避免可能出现崩溃的问题。** 示例可以参考原生SDK中的`app-comm`工程。 ## 退出 退出应用可以在uni-app x中调用`uni.exit()`,整体退出uni-app x。