小编use*_*467的帖子

使用Android WebViewClient启用特定的SSL协议

我的应用程序使用WebViewClient与服务器建立SSL连接.服务器配置为仅接受TLSv1.1及更高版本的协议.

1)如何检查哪些SSL协议是a)支持和b)在设备上使用Android WebViewClient时默认启用.
2)如何为我的应用程序中使用的Android WebViewClient实例启用特定的SSL协议.

在其中一个运行Android 4.3的测试设备上,WebViewClient抛出onReceivedError回调,其描述为"无法执行SSL握手"
Chrome日志如下:
01-29 15:58:00.073 5486 5525 W chromium_net:external/chromium/net/http/http_stream_factory_impl_job.cc:865:[0129/155800:警告:http_stream_factory_impl_job.cc(865)]回到SSLv3,因为主机是TLS不容忍的:10.209.126.125:443 01-29 15:58:00.083 5486 5525 E chromium_net:external/chromium/net/socket/ssl_client_socket_openssl.cc:792:[0129/155800:错误:ssl_client_socket_openssl.cc(792)]握手失败; 返回0,SSL错误代码5,net_error -107

我的应用程序还使用HttpClient和HttpsUrlConnection类来设置SSL连接.在使用这些类时,我能够使用SSLSocket API来启用特定协议. http://developer.android.com/reference/javax/net/ssl/SSLSocket.html#setEnabledProtocols(java.lang.String中[])

我需要对WebViewClient做同样的事情.

java ssl https android webviewclient

27
推荐指数
2
解决办法
2万
查看次数

Android marshmallow动态权限更改会杀死所有应用程序进程

观察:手动更改Android应用程序的权限会终止此应用程序的所有进程.

过程:转到设置 - >应用程序选择应用程序和权限.禁用其中一个权限.设备:运行Android Marshmallow 6.0的Nexus 6设备

当我从启动器启动应用程序时,它启动了在此应用程序的权限更改之前位于顶部的活动.这与我们通过从UI多任务菜单中刷出应用程序来终止应用程序进程时的行为不同.在这种情况下,首先创建启动器活动.也就是说,为了使应用程序在更改权限后启动时正常工作,它不能依赖启动的启动器活动.

这是所有Android 6.0+设备上具有动态权限的预期行为吗?为什么通过从UI多任务菜单中刷出应用程序进程来杀死应用程序时的行为有何不同?

android android-permissions android-6.0-marshmallow

27
推荐指数
1
解决办法
8311
查看次数