在我的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