public class NetworkSecurityPolicy
extends Object
java.lang.Object | |
↳ | android.security.NetworkSecurityPolicy |
网络安全策略。
网络堆栈/组件应遵守此策略,以便集中控制网络安全行为的相关方面。
该策略目前由单个标志组成:是否允许明文网络通信。 见isCleartextTrafficPermitted()
。
Public methods |
|
---|---|
static NetworkSecurityPolicy |
getInstance() 获取此过程的策略。 |
boolean |
isCleartextTrafficPermitted(String hostname) 返回明文网络流量(例如, |
boolean |
isCleartextTrafficPermitted() 返回明文网络流量(例如, |
Inherited methods |
|
---|---|
From class java.lang.Object
|
NetworkSecurityPolicy getInstance ()
获取此过程的策略。
缓存这个参考很好。 通过参考可以立即看到对策略的任何更改。
Returns | |
---|---|
NetworkSecurityPolicy |
boolean isCleartextTrafficPermitted (String hostname)
返回此进程是否允许与 hostname
进行通信的明文网络通信(例如HTTP,FTP,XMPP,IMAP,SMTP - 无TLS或STARTTLS)。
Parameters | |
---|---|
hostname |
String
|
Returns | |
---|---|
boolean |
boolean isCleartextTrafficPermitted ()
返回来自此进程的所有网络通信是否允许明文网络通信(例如,HTTP,FTP,WebSockets,XMPP,IMAP,SMTP - 无TLS或STARTTLS)。
当明文网络通信是不允许的,该平台的组件(例如HTTP和FTP栈, DownloadManager
, MediaPlayer
)将拒绝这一进程的请求使用明文流量。 强烈建议第三方库也遵守此设置。
此标志在尽力而为的基础上得到兑现,因为无法阻止来自Android应用程序的所有明文流量,因为它们提供了访问级别。 例如,不会期望Socket
API会遵守此标志,因为它无法确定其通信是否处于明文状态。 但是,来自应用程序的大多数网络流量都是由更高级别的网络堆栈/组件处理的,这些网络堆栈/组件可以遵守策略的这一方面。
注意: WebView
不会兑现此标志。
Returns | |
---|---|
boolean |