如何在Android中从本机层文件回调应用层文件

How to callback the Application Layer file from Native Layer file in a Android?

本文关键字:文件 回调 应用层 本机 Android      更新时间:2023-10-16

我的Android项目中有以下三个文件(一个java文件在应用层,一个cpp文件在JNI层和一个cpp文件在本机层)。

  1. MyActivity.java(应用层)
  2. MyJNI接口.cpp(JNI接口)
  3. MyNativeFile.cpp.(本机实现)

我能够使用JNI接口从应用层调用本机层中的api。

有没有一种方法可以让我从Native Layer文件(MyNativeFile.cpp)回调到应用程序层文件(MyActivity.java)?

请分享一些示例代码。

是的,这是可能的。

查看谷歌提供的此示例应用程序

Android完全实现了标准的JNI(JNI_CreateJavaVM()除外),因此支持回调。请注意,如果您想从未在Java中启动的线程回调Java,则必须将线程附加到JVM(例如,UI线程不需要AttachCurrentThread())。