## 启动
需要在打开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
{{title}}
```
#### 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。