我正在尝试将我的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
的回调。
答案 0 :(得分:0)
唯一的解决方案是不太理想的解决方案。您必须创建NativeActivity的Java子类,并在那里实现onActivityResult结果。在AndroidManifest.xml中,您将引用新的子类activity android:name=""
而不是NativeActivity。