在我的Android应用程序返回时,我正尝试安装从我的服务器中检索一个PKCS12文件(证书和私钥)。为此,我正在使用KeyChain.createInstallIntent()
。我传入文件并将名称用作Extras,然后使用startActivityForResult
来触发该活动。的Android KeyChain.createInstallIntent立即
这个工作对我的Galaxy Tab 2运行罚款4.1.1果冻豆,开放系统对话框,预计将安装证书。但是,在运行4.4.2 KitKat的Galaxy Tab 3上,立即调用onActivityResult
方法,结果代码为RESULT_CANCELLED
。
我试图完成对通知证书安装成功/失败的应用程序,然后打开一个浏览器窗口,并转到成功或失败页面相应。
protected void importPkcs12(byte[] pkcs12, String defaultName)
{
Intent installIntent = KeyChain.createInstallIntent();
installIntent.putExtra(KeyChain.EXTRA_PKCS12, pkcs12);
installIntent.putExtra(KeyChain.EXTRA_NAME, defaultName);
startActivityForResult(installIntent, INSTALL_KEYSTORE_CODE);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data)
{
logger.debug("onActivityResult called with requestCode {}", requestCode);
switch(requestCode)
{
case INSTALL_KEYSTORE_CODE:
{
if(resultCode == RESULT_OK)
{
// Go to success web page
}
else //RESULT_CANCELED
{
// Go to canceled/failure web page
}
break;
}
}
super.onActivityResult(requestCode, resultCode, data);
}
@你能找出原因。我也有同样的问题。 – user1429322 2015-02-19 21:16:52
我不是。结束不得不重构,以便我可以立即处理它。 – jproch 2015-02-20 21:36:48