判断当前app是不是被禁止使用网络

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了判断当前app是不是被禁止使用网络相关的知识,希望对你有一定的参考价值。

参考技术A 之前看到某款app,当我开着4G网络但是禁止该app访问网络时,该app会提示我前往设置页面开启数据访问权限,后来在一本书上找到了一个解决方案。

原理其实不难,首先导入头文件<objc/message.h>,状态栏是由当前app控制的,获取当前app后遍历所有属性,找到关于状态栏的

输出得到app的所有属性和变量,很明显statusBar就是状态栏的,然后我们一层层往下剥,这里我就不一一赘述了,最后获取到的dataNetworkType就是当前网络状态

经过测试,发现,可能的值为 1,2,3,5 分别对应的网络状态是2G、3G、4G及WIFI。 当没有网络时,隐藏UIStatusBarDataNetworkItemView,无法获取dataNetworkType值。

如何判断窗口是不是被释放

【中文标题】如何判断窗口是不是被释放【英文标题】:How to determine if window is disposed如何判断窗口是否被释放 【发布时间】:2011-04-27 10:55:25 【问题描述】:

当应用程序关闭时,我在 WPF MainWindow1.Xaml 中有一个函数。但在未知情况下,用户可以使用“文件 > 关闭”按钮以另一种方式关闭应用程序。我只需要在“关闭”方法中知道当前 MainWindow1.xaml 是否已经被释放。但我找不到任何财产。

你能帮帮我吗?

【问题讨论】:

【参考方案1】:

你可以试试

var source = PresentationSource.FromVisual(yourWindow)

如果source 为空或source.IsDisposed == true,则表明您的窗口已关闭。

【讨论】:

source.IsDisposed 将始终为false,否则PresentationSource.FromVisual 将不会返回源代码。【参考方案2】:

您可以附加到Window 上的Closed 事件。 当这个事件被调用时,窗口关闭。实际上我必须更正:根据the MSDN documentation,这仅意味着您无法阻止在调用此事件时关闭窗口。 如果收听Closed 事件不够好,那么这是另一种选择:How do you tell if a WPF Window is closed?

【讨论】:

感谢您的回复 ChrisWue。我会这样尝试:` schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="schemas.microsoft.com/winfx/2006/xaml" x:Class="SDKSample.App" ShutdownMode="OnExplicitShutdown" /> ` 与 MainWindow1.IsLoaded 属性.. . 不起作用。查看这里的情况:link 我认为您正在尝试在窗口已经关闭时调用Close。我不确定你的目标是什么,也许你可以解释更多。

以上是关于判断当前app是不是被禁止使用网络的主要内容,如果未能解决你的问题,请参考以下文章

有些手机上有些软件连不上网是怎么回事?

android判断移动网络是不是打开

手机app网络权限设置怎么打开

android 监听屏幕是不是被触碰过?

电脑Google浏览器该网页已被禁止怎么办?

网易云音乐为啥无法连接网络