NativeActivity未完成

2024-04-29

我从 JavaActivity 调用 NativeActivity。我的 NativeActivity 的入口点是

 android_main(struct android_app* state)

最后,我打电话给

 ANativeActivity_finish

然而,我的本机活动只是挂起,而不是返回到调用它的 Java 活动(它只是使用startActivity)。看起来像是处于暂停状态。我可以让它返回到上一个活动的唯一方法是调用exit(0)在我的 android_main 结束时,但这会杀死进程并导致其他问题。

如何成功退出 NativeActivity 并返回到调用它的 JavaActivity?


我遇到了同样的问题。基本上,当在主循环中调用 ANativeActivity_finish(..) 时,它对我有用,因为它在 static void android_app_destroy(struct android_app) 中调用 ANativeActivity_finish(..) 后,通过将 state->destroyRequested 设置为 1 来使状态无效并完成应用程序本身* android_app)(android_native_app_glue.c C:173)。

void android_main(struct android_app* state) 
{
  // Attach current state if needed
  state->activity->vm->AttachCurrentThread(&state->activity->env, NULL);
  ...
  // our main loop for the app. Will only return once the game is really finished.
  while (true) {
    ...
    while ((ident=ALooper_pollAll(engine.animating ? 0 : -1, NULL, &events,(void**)&source)) >= 0) {
      ...
      // Check if we are exiting. Which is the case once we called ANativeActivity_finish(state->activity);
      if (state->destroyRequested != 0) 
      {
         // Quit our app stuff herehere
         // detatch from current thread (if we have attached in the beginning)
         state->activity->vm->DetachCurrentThread();
         // return the main, so we get back to our java activity which calle the nativeactivity
         return;
      }
    }
    if (engine.animating) 
    {
      // animation stuff here
    }
    // if our app told us to finish
    if(Closed)
    {
      ANativeActivity_finish(state->activity);
    }
  }
}

好吧,我想对你来说已经太晚了,但我花了很多时间在这上面,因为我找不到解决方案,所以我将其发布在这里,供遇到同样问题的每个人使用。有关分离和附加调用的其他棘手内容的更多信息可以在这里找到:直接在c++中访问Android APK资源数据,无需Asset Manager和复制 https://stackoverflow.com/questions/10166638/access-android-apk-asset-data-directly-in-c-without-asset-manager-and-copying

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

NativeActivity未完成 的相关文章

  • 找不到参数的方法 dependencyResolutionManagement()

    我正在尝试使用老师给我的一个项目 但它显示了一个错误 Settings file Users admin AndroidStudioProjects HTTPNetworking settings gradle line 1 A probl
  • 如何在 Android 中保存相机的临时照片?

    在尝试从相机拍照并将其保存到应用程序的缓存文件夹中时 我没有得到任何可见的结果 应用程序不会崩溃 但在 LogCat 上 当我尝试将 ImageView src 字段设置为刚刚获取的文件的 URI 时 我收到此消息 09 17 14 03
  • 类型容器“Android 依赖项”引用不存在的库 android-support-v7-appcompat/bin/android-support-v7-appcompat.jar

    我在尝试在我的项目中使用 Action Bar Compat 支持库时遇到了某种错误 我不知道出了什么问题 因为我已按照此链接中的说明进行操作 gt http developer android com tools support libr
  • android中向sqlite中插入大量数据

    目前 我必须一次向我的 Android 中插入超过 100 亿条数据 然而 内存不足的问题会使程序崩溃 sqlite 插入测试非常简单 只需使用 for 循环生成 sql 插入命令并通过 开始 和 提交 进行包装 private Array
  • 卸载后 Web 应用程序不显示“添加到主屏幕”

    这是我第一次创建网络应用程序 我设法解决了这个问题 所以我得到了实际的 chrome 提示 将其添加到主屏幕 然后我从手机上卸载了该网络应用程序 因为我想将其展示给我的同事 但是 屏幕上不再出现提示 问题 这是有意为之的行为还是我的应用程序
  • Android Activity 生命周期函数基础知识

    我正在测试这段代码 它显示活动所处的状态 public class Activity101Activity extends Activity String tag Lifecycle Called when the activity is
  • 当文本输入聚焦在 React Native for Android 的底部工作表上时,视图移出屏幕

    我正在使用图书馆 https github com osdnk react native reanimated bottom sheet https github com osdnk react native reanimated bott
  • 在 java 类和 android 活动之间传输时音频不清晰

    我有一个android活动 它连接到一个java类并以套接字的形式向它发送数据包 该类接收声音数据包并将它们扔到 PC 扬声器 该代码运行良好 但在 PC 扬声器中播放声音时会出现持续的抖动 中断 安卓活动 public class Sen
  • 是否必须删除 Intent extra?

    这可能是一个愚蠢的问题 但是是否有一条规则规定消费活动必须显式删除 Intent 额外内容 或者只有在回收 Intent 对象时才如此 换句话说 如果我总是通过执行以下操作来链接到下一个活动 Intent i new Intent MyCu
  • 在 HTTPResponse Android 中跟踪重定向

    我需要遵循 HTTPost 给我的重定向 当我发出 HTTP post 并尝试读取响应时 我得到重定向页面 html 我怎样才能解决这个问题 代码 public void parseDoc final HttpParams params n
  • 是否有 ADB 命令来检查媒体是否正在播放

    我想使用 ADB 命令检查根植于终端的外部设备中是否正在播放音频 视频 我无法找到任何 ADB 命令 如果有 我尝试过 adb shell dumpsys media player 我想要一个命令来指定视频是否正在运行 您可以使用以下命令查
  • 在gradle插件中获取应用程序变体的包名称

    我正在构建一个 gradle 插件 为每个应用程序变体添加一个新任务 此新任务需要应用程序变体的包名称 这是我当前的代码 它停止使用最新版本的 android gradle 插件 private String getPackageName
  • 如何使用 IF 检查 TextView 可见性

    我有一个 onCheckedChangeListener 来根据选择的单选按钮显示文本视图 我有 1 个疑问和 1 个难题 想知道是否有人可以帮助我 问题 您能否将单选组默认检查值设置为 否 单选按钮 以便一开始就不会检查任何内容 问题 如
  • 我想实现下面的布局,按钮应该在屏幕底部,当惰性列被填充时,按钮不应该出去

    顶部有惰性列 惰性列下方有输入电话号码布局并从电话簿布局添加联系人 我希望当未添加联系人时此布局位于顶部 当我添加大量联系人时输入电话号码并添加电话簿布局中的联系人会随着惰性列滚动并移出屏幕 我不让他们走出屏幕 当接触较多时 它们必须粘在底
  • 在两个活动之间传输数据[重复]

    这个问题在这里已经有答案了 我正在尝试在两个不同的活动之间发送和接收数据 我在这个网站上看到了一些其他问题 但没有任何问题涉及保留头等舱的状态 例如 如果我想从 A 类发送一个整数 X 到 B 类 然后对整数 X 进行一些操作 然后将其发送
  • 字符串数组文本格式化

    我有这个字符串 String text Address 1 Street nr 45 Address 2 Street nr 67 Address 3 Street nr 56 n Phone number 000000000 稍后将被使用
  • Android向menuItem添加子菜单,addSubMenu()在哪里?

    我想根据我的参数以编程方式将 OptionsMenu 内的子菜单添加到 menuItem 中 我检查了android sdk中的 MenuItem 没有addSubMenu 方法 尽管你可以找到 hasSubMenu 和 getSubMen
  • Android 套接字和 asynctask

    我即将开始制作一个应该充当 tcp 聊天客户端的应用程序 我一直在阅读和阅读 我得出的结论是最好 如果不需要 将我的套接字和异步任务中的阅读器 问题是我不确定从哪里开始 因为我是 Android 新手 这至少对我来说是一项艰巨的任务 但据我
  • 一次显示两条Toast消息?

    我希望在一个位置显示一条 Toast 消息 并在另一位置同时显示另一条 Toast 消息 多个 Toast 消息似乎总是按顺序排队和显示 是否可以同时显示两条消息 是否有一种解决方法至少可以提供这种外观并且不涉及扰乱活动布局 Edit 看来
  • 实现滚动选择 ListView 中的项目

    我想使用 ListView 您可以在其中滚动列表来选择一个项目 它应该像一个 Seekbar 但拇指应该是固定的 并且您必须使用该栏来调整它 我面临的一个问题是 我不知道这种小部件是如何调用的 这使得我很难搜索 所以我制作了下面这张图片 以

随机推荐

  • 如何使用 C# 更新 Active Directory 属性。

    如何使用 C 更新 Active Directory 属性 就我而言 我有以下情况 对于每个用户都有一个WhenCreatedAD 中的属性 但我想要的是 如果whenDate设置的时间少于 30 天info归因于NEW在活动目录中 我怎样
  • uWSGI重启时停机

    每次当我有代码更新时重新启动服务器时 我都会遇到 uwsgi 问题 当我使用 sudo restart account 重新启动 uwsgi 时 停止和启动实例之间存在一个小间隙 导致停机并停止所有当前请求 当我尝试 sudo reload
  • UIAlertController 的警报无法关闭它

    我正在创建警报 但当用户按 确定 时无法将其关闭 我收到以下错误 2017 12 28 07 03 50 301947 0400 Prestamo 691 215874 API 错误 返回 0 宽度 假设 UIViewNoIntrinsic
  • 龙卷风网络和线程

    我是 Tornado 和 Python 线程的新手 我想要实现的目标如下 我有一个龙卷风网络服务器 它接受用户的请求 我想在本地存储一些数据 并定期将其作为批量插入写入数据库 import tornado ioloop import tor
  • 跨浏览器可拉伸圆角,具有语义代码和最少的图像使用。是否可以?

    我知道如果没有 Javascript 或图像 IE 不可能制作圆角 如果禁用 js JS 解决方案将无法工作 所以我想使用图像选项 我需要任何图像 css解决方案来使跨浏览器兼容圆角divminimal 容易制作和纯粹的semantic a
  • C++ Redistributable 14 与 VS2017 C++ Redistributable 冲突

    我重建了一台笔记本电脑 并在此过程中安装了 VS2017 其中包括安装 C 2017 Redistributable x64 14 10 24728 我尝试安装其他使用 C Redist 14 的应用程序 但它们失败并显示错误消息 该产品的
  • 为什么内联声明不是不完整类型?

    考虑下面的代码 struct Foo struct Bar Foo Bar bar Why isn t Bar an incomplete type struct Bar Full definition struct Bar fails t
  • 在heroku上部署git子目录

    我必须从非主分支部署 git 子目录 我看过这个答案 https stackoverflow com questions 7539382 how can i deploy from a git subdirectory and to Her
  • BackupAgent:“无法恢复包...”

    我已经实现了 BackupAgent 如下所述数据备份 http developer android com guide topics data backup html 注册了一个 API 密钥并在我的 Manifest 中声明了 Back
  • 如何在 AWS Glue 中使用 Spark 包?

    我想使用 DatastaxSpark Cassandra 连接器 https mvnrepository com artifact com datastax spark spark cassandra connector 2 12 2 5
  • 如何让我的精灵向鼠标位置发射一个对象?

    对于一个学校项目 我需要通过实现一种向鼠标位置射击 Kunais Shurikens 的方式来完成下面的 pygame 程序 以便能够击中敌人精灵 import pygame import math import random from p
  • 重新排列关联数组的最优雅的方法是什么?

    假设你有一个关联数组 hash Fruit Apple hash Name Jeff hash Car Ford 并且您无法更改这些变量的创建顺序 因此 Car 总是在 Name 等之后添加到数组中 将 Car 添加 移动到关联数组的开头而
  • 基于 Pandas 中的管道分隔列创建多个新列

    我有一个 pandas 数据框 其中有一个管道分隔的列 其中包含任意数量的元素 称为 零件 这些管道串中的元素数量从 0 到超过 10 个不等 所有管道串中包含的唯一元素的数量并不比行数小很多 这使得我无法在创建新列 对于每一行 我想创建一
  • LINQ 将 Dictionary 转换为 Dictionary

    我今天心情低落 有谁知道一种快速而优雅的方法来转换字典 使键变成值 反之亦然 Example var originalDictionary new Dictionary
  • 按钮上的自定义 Paypal 字段

    当 PayPal 通知我付款时 我需要包含一个自定义字段 我正在尝试使用高级变量 但我没有找到使它们动态化的方法 假设我有一个字段 xyzzy 值为 plugh 我希望 PayPal 包含 form xyzzy plugh 及其发送到我的
  • 如何在 CALayer 中绘制径向渐变?

    I know CAGradientLayer目前不支持径向渐变 只能选择kCAGradientLayerAxial 我想要如下所示的东西 我环顾四周寻找这个问题 发现有一种方法可以解决这个问题 但我并不清楚这些解释 所以我想知道是否可以使用
  • Android 中的音频交叉淡入淡出

    我正在开发一个媒体播放器用于我的学习目的 我希望在媒体播放器应用程序中具有交叉淡入淡出功能 但我不知道从哪里开始 我尝试在互联网上搜索但没有运气 我使用的是安卓MediaPlayer所有媒体播放器相关操作的类 任何人都知道任何解决方法可以实
  • 使用 RSYNC,包含和排除如何组合?

    我想 rsync Volumes B 中的所有内容 除了缓存目录 我想全局排除它 另外 我不想同步任何其他 Volume 我有以下排除文件 Volumes B Cache Volumes 第一行和第三行似乎工作正常 除了 rsync 还拾取
  • 如何使用 DataTables jquery 插件按日期排序?

    我正在使用 datatables jquery 插件并希望按日期排序 我知道他们有一个插件 但我找不到从哪里实际下载它 http datatables net plug ins sorting http datatables net plu
  • NativeActivity未完成

    我从 JavaActivity 调用 NativeActivity 我的 NativeActivity 的入口点是 android main struct android app state 最后 我打电话给 ANativeActivity