在Android NDK中为AccountPicker接收onActivityResult

时间:2013-09-29 03:01:54

标签: android c++ android-ndk google-drive-api

我正在尝试将我的NDK应用程序与Google云端硬盘集成。我正在关注Sample Application并使其适应我的原生代码。我已经成功启动了帐户选择器,但我现在仍然坚持如何从帐户选择器获取结果。我使用代码

中的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的回调。

1 个答案:

答案 0 :(得分:0)

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