Receiving onActivityResult in Android NDK for AccountPicker

Receiving onActivityResult in Android NDK for AccountPicker

本文关键字:for AccountPicker NDK Android onActivityResult in Receiving      更新时间:2023-10-16

我正在尝试将我的NDK应用程序与Google云端硬盘集成。我正在遵循示例应用程序,并使其适应从我的本机代码使用。我已经得到了它以成功启动帐户选择器,但现在陷入了如何从帐户选择器获取结果的困境。我使用代码中的 JNI 调用启动帐户选取器

在代码示例中,当其他意向返回时,将对活动调用 onActivityResult 方法。

@Override
  protected void onActivityResult(final int requestCode, final int resultCode, final Intent data) {
    switch (requestCode) {
    case REQUEST_ACCOUNT_PICKER:
      if (resultCode == RESULT_OK && data != null && data.getExtras() != null) {
        String accountName = data.getStringExtra(AccountManager.KEY_ACCOUNT_NAME);
        if (accountName != null) {
          credential.setSelectedAccountName(accountName);
          service = getDriveService(credential);
          startCameraIntent();
        }
      }
      break;
    }
  }

有没有办法使用 NDK 做类似的事情?我想用 C 创建一个函数并将其设置为 onActivityResult 的回调。

唯一的解决方案是不理想的解决方案。你必须创建一个 NativeActivity 的 Java 子类,并在其中实现 onActivityResult 结果。在 AndroidManifest 中.xml您将引用新的子类activity android:name=""而不是 NativeActivity。