精华内容
下载资源
问答
  • Android 获取应用列表
    千次阅读
    2020-06-18 20:55:56

    前言

    目前正是Android 11 马上要发布的时期,当前在Android手机上获取应用安装列表,要从三个维度上区分:获取方法、系统版本、是否系统应用。

    • 获取方法:至少有两种方法,它们的行为结果会有所差异
    • 系统版本:从 Android 11 开始,应用列表的获取将受到限制
    • 是否系统应用:系统应用与非系统应用的获取结果,也不尽相同

    获取方法介绍

    获取所有应用列表(系统应用+非系统应用),常用的方法有2种:Shell命令行、系统API。

    而要进一步区分是否系统应用,只要对上述结果进行一次过滤即可。下面分别介绍:

    1.shell命令行

    pm list packages
    

    示例代码:

    private List<String> getPkgList() {
    	List<String> packages = new ArrayList<String>();
    	try {
    		Process p = Runtime.getRuntime().exec("pm list packages");
    		InputStreamReader isr = new InputStreamReader(p.getInputStream(), "utf-8");
    		BufferedReader br = new BufferedReader(isr);
    		String line = br.readLine();
    		while (line != null) {
    			line = line.trim();
    			if (line.length() > 8) {
    				String prefix = line.substring(0, 8);
    				if (prefix.equalsIgnoreCase("package:")) {
    					line = line.substring(8).trim();
    					if (!TextUtils.isEmpty(line)) {
    						packages.add(line);
    					}
    				}
    			}
    			line = br.readLine();
    		}
    		br.close();
    		p.destroy();
    	} catch (Throwable t) {
    		t.printStacktraces();
    	}
    	return packages;
    }
    

    2.系统API

    PackageManager.getInstalledPackages()
    

    示例代码:

    private List<String> getPkgListNew() {
    	List<String> packages = new ArrayList<String>();
    	try {
    		List<PackageInfo> packageInfos = context.getPackageManager().getInstalledPackages(PackageManager.GET_ACTIVITIES |
    				PackageManager.GET_SERVICES);
    		for (PackageInfo info : packageInfos) {
    			String pkg = info.packageName;
    			packages.add(pkg);
    		}
    	} catch (Throwable t) {
    		t.printStackTrace();;
    	}
    	return packages;
    }
    

    判断是否系统应用

    // 通过packName得到PackageInfo,作为参数传入即可
    private boolean isSystemApp(PackageInfo pi) {
    	boolean isSysApp = (pi.applicationInfo.flags & ApplicationInfo.FLAG_SYSTEM) == 1;
    	boolean isSysUpd = (pi.applicationInfo.flags & ApplicationInfo.FLAG_UPDATED_SYSTEM_APP) == 1;
    	return isSysApp || isSysUpd;
    }
    

    总结对比

    • 测试机:Google Pixel 3 XL
    • 系统应用:262个
    • 非系统应用:2个(包括测试demo)
    获取方法系统应用非系统应用
    < Android 11>= Android 11< Android 11>= Android 11
    shell命令- 可用- 不需要权限- 条件可用- 无权限:结果变少(99个)- 有权限:得到所有应用(262个)- 可用- 不需要权限- 条件可用- 无权限:只能得到自己(1个)- 有权限:得到所有应用(2个)
    系统API- 可用- 不需要权限- 条件可用- 无权限:结果变少(99个)- 有权限:得到所有应用(262个)- 可用- 不需要权限- 条件可用- 无权限:只能得到自己(1个)- 有权限:得到所有应用(2个)

    说明:

    • 这里说的权限是:QUERY_ALL_PACKAGES,Android 11 新增权限,不用动态申请
    • 这里说的 >= Android 11 是:targetSdkVersion 为 Android 11 且 运行在11的设备上

    补充:广播监听应用安装/卸载的行为变化

    如果使用了广播,监听应用安装与卸载动作,那么在 Android 11 上也有一些行为变化。

    概括来讲,就是 Android 11 下,若无 QUERY_ALL_PACKAGES 权限,则无法监听到 安装 动作

    Android 11 之前
    • 能监听到 安装/卸载
    Android 11 开始
    • 若无 QUERY_ALL_PACKAGES 权限:只能监听到 卸载
    • 若有 QUERY_ALL_PACKAGES 权限:仍能监听到 安装/卸载
    更多相关内容
  • 极力推荐Android 开发大总结文章:欢迎收藏程序员Android 力荐 ,Android 开发者需要的必备技能 ...一、Google Play Store 应用无法安装解决方案 Google PlayStore应用无法安装的原因: 1. 国...

    极力推荐Android 开发大总结文章:欢迎收藏
    程序员Android 力荐 ,Android 开发者需要的必备技能

     

    本篇文章主要介绍 Android 开发中的Google play Store 应用 部分知识点,通过阅读本篇文章,您将收获以下内容:

    一、Google Play Store 应用无法安装解决方案

    Google PlayStore应用无法安装的原因:

    1. 国家或地区限制导致无法安装

    某些应用只在某些国家和地区才能使用,所以Google PlayStore会根据用户当前网络情况屏蔽这些应用;

    此情况属于正常情况,可以使用对比机在同样的网络环境下验证。如果您确实需要下载,则可通过vpn翻墙搜索下载。

    2. 手机feature不支持导致无法安装

    关于feature 有以下两种行为

    • a.手机确实没有相应feature,如GPS

    属于正常情况,如果您一定需要下载,则可通过强制声明此feature方式下载,但是不能保证下载后可以正常安装以及使用。

    • b.手机有但是未声明相应feature,导致系统显示为缺少对此feature的支持

    此类问题解决方案如下:

    1. 确保对比机在同样网络条件下可以搜索到,并将此应用下载下来(某某.apk)

    2. 获取 apk Feature 要求

    aaptAndroidAssetPackagingTool)在SDK的\sdk\build-tools\27.0.3目录下
    使用aapt命令可以解析apk信息
    解析命令如下:

    aapt dump badging file.apk > 某某.xml
    

    使用adb 命令获取 应用,手机Feature

    此命令用于查看APK包的packageName、versionCode、applicationLabel、launcherActivity、permission等各种详细信息,请记录应用uses-featureuses-library

    举例 app 申请权限等

     

    1. 查看手机Feature 支持情况

    可以使用以下命令dump手机libraryfeature信息

    adb shell dumpsys package > 某某.xml
    

    举例获取手机 Feature

    1. 对比应用需要的与手机声明的featurelibrary,补上手机缺少的相应feature,声明各个feature的位置可能根据feature不同而在不同的文件里

    至此,本篇已结束,如有不对的地方,欢迎您的建议与指正。同时期待您的关注,感谢您的阅读,谢谢!

    如有侵权,请联系小编,小编对此深感抱歉,届时小编会删除文章,立即停止侵权行为,请您多多包涵。

    既然都看到这里,领两个红包在走吧!
    以下两个红包每天都可以领取

    1.支付宝搜索 522398497,或扫码支付宝红包海报。

    支付宝扫一扫,每天领取大红包

    2.微信红包,微信扫一扫即可领取红包

     

    微信扫一扫,每天领取微信红包

    小礼物走一走,来简书关注我

    展开全文
  • (注意:应用类型分为“测试应用”和“正式应用”,选择后不能进行修改,测试应用不受服务器IP白名单限制,无法发布上架,仅供测试使用。如果选择正式应用,需要填写IP白名单。为了开发方便一般选择测试应用) 第三...

    第一步:首先打开钉钉开发者后台登陆,选择"应用开发"->“第三方企业应用”->“小程序”,点击"创建应用"。
    如图实例:
    第二步:如下图(框起来的信息都要填写完成后,点击下一步)
    在这里插入图片描述
    (注意:应用类型分为“测试应用”和“正式应用”,选择后不能进行修改,测试应用不受服务器IP白名单限制,无法发布上架,仅供测试使用。如果选择正式应用,需要填写IP白名单。为了开发方便一般选择测试应用)
    第三步:如下图创建应用在这里插入图片描述推送类型:可以选择使用“钉钉云推送”或“HTTP推送”。

    (1)钉钉云推送:

    在保障数据安全的前提下,极大的简化了推送协议,减少了数据传输次数,提高了数据传输速度,提升了推送的稳定性。正式版的第三方应用都须使用钉钉云推送(第三方应用在申请接口权限、上架应用市场的时候,都需要使用钉钉云)。详情请参考钉钉云推送文档。

    (2)HTTP推送:

    是使用回调地址推送数据的方式,开发者提供HTTP回调服务,钉钉服务器会向此回调地址推送数据,数据需要经过加解密的处理。

    然后点击创建应用即可,创建成功后,可以在应用列表查看到创建的应用,并点您创建的应用可以查看应用的详细信息。如下图所示:
    在这里插入图片描述
    在这里插入图片描述点击应用信息后面的“查看详情”,可以查看应用的信息,包括创建后得到的suiteId、suiteKey和suiteSecret,还可以在此页面点击修改进行内容的调整。在这里插入图片描述
    前端开发
    项目创建
    下载钉钉小程序开发者工具IDE,安装并打开。打开IDE后,选择新建项目或者打开项目(比如已有项目或Demo),

    image.png

    选择要开发的应用类型“钉钉”-“第三方企业应用”;

    如果你初次编写小程序代码,可以使用我们提供的“组件/API示例”模板创建项目

    image.png

    点击下一步填写项目名称和项目路径,然后点击完成即可。

    代码编写
    打开项目,会默认进入代码编辑模式。从左到右,依次是文件操作区、代码编辑区和预览区。

    image.png

    (1)代码编辑

    代码编辑区可以对当前项目进行代码编写和文件的添加、删除以及重命名等基本操作。

    (2)实时预览

    在代码编辑区修改任何代码都会重新编译,然后自动刷新应用。

    (3)自动补全

    IDE工具针对dd接口和axml提供了大量的自动补全提示,以帮助开发者提高效率。

    本地调试
    (1)预览区

    这里可真实模拟在钉钉应用里的表现,并针对绝大部分的API提供了模拟功能。

    (2)调试模式

    点击下方的“调试器”,可切换到调试模式。

    image.png

    小程序调试工具提供了axml和acss的支持,支持组件层级、属性回写等功能;同时也包含了Chrome调试工具中的网络请求、DOM元素检查、源码Debug等。

    (1)出错反馈

    当开发者在axml或者配置文件里编译出错时,保存后会对错误的信息以redbox的形式呈现给开发者。

    真机预览
    使用“钉钉扫码登录”并“关联应用”后,在开发者工具右上角点击“预览”按钮,选择“确认推送”,生成预览二维码,使用手机钉钉扫码预览即可。注意:请确保左上角已经正确关联了应用和组织,才能推送成功。

    在这里插入图片描述
    发布版本
    在开发者工具右上角点击“上传”按钮即可。

    在这里插入图片描述

    发布成功后,可以在开发者后台小程序的版本管理进行灰度、发布到线上等版本管理,可查看发布小程序。(灰度版本的意思就是这个版本还没有正式发布,优先设置几个企业的CropId,这几个企业就能能先用的)

    image.png
    使用命令git clone下载代码,也可以直接用HTTP形式从代码仓库下载。
    前端代码
    git clone https://github.com/opendingtalk/eapp-isv-quick-start-fe.git

    打开IDE后选择您下载的前端项目eapp-isv-quick-start-fe文件夹,选择开发的应用类型,

    打开后在右上角点击登录,出现扫码登录界面,使用钉钉扫码登录IDE。

    注意:如果开发者已经打开IDE,请关闭重新打开,初次打开才可以选择打开新工程。

    • 选择项目类型即要开发的应用类型。
    • 点击右上角登录按钮使用钉钉扫码登录。

    4.2 修改前端配置
    修改文件eapp-isv-quick-start-fe/page/index/index.js。

    IP端口为本机的IP和PORT,注意url中的IP或域名必须是开发者平台中设置的本应用的安全域名。

    let url = “http://30.xxx.xx.54:8080”;

    服务端开发
    第三方企业应用的应用开通授权流程,详情请参考文档。

    设置小程序
    设置开发人员
    在创建应用后,默认会把当前创建应用的操作者添加为开发人员,若应用有多个开发者,我们可以通过手机号码添加该应用的开发者。添加开发人员后,该开发人员可使用开发者工具进行应用开发。

    image.png

    设置安全域名
    小程序需要事先设置一个或多个服务端安全域名(或IP),小程序前端只能通过这些安全域名(或IP)与服务端进行网络通信。

    本质上,小程序前端与后端的网络通信是同普通的H5前后端一样的。因此在您做快速体验时,可以填写小程序前端所在环境能访问的任何域名/IP地址,比如可以是您自己的办公电脑本机地址或者局域网内地址。

    您也可借助内网穿透工具映射一个可公网访问的临时地址,注意:内网穿透仅用于测试开发阶段。

    image.png
    使用命令git clone下载代码,也可以直接用HTTP形式从代码仓库下载。

    服务端代码
    git clone https://github.com/opendingtalk/eapp-isv-quick-start-java.git
    修改应用配置

    在您的IDE中找到类文件com.config.Constant.java,修改以下配置

    /**

    • 应用的SuiteKey,登录开发者后台,点击应用管理,进入应用详情可见
      /
      public static final String SUITE_KEY="";
      /
      *
    • 应用的SuiteSecret,登录开发者后台,点击应用管理,进入应用详情可见
      /
      public static final String SUITE_SECRET="";
      /
      *
    • 回调URL加解密用。应用的数据加密密钥,登录开发者后台,点击应用管理,进入应用详情可见
      /
      public static final String ENCODING_AES_KEY="";
      /
      *
    • 回调URL签名用。应用的签名Token, 登录开发者后台,点击应用管理,进入应用详情可见
      */
      public static final String TOKEN="";
      SUITE_KEY、SUITE_SECRET参数可在开发者后台-第三方企业应用获取。

    **

    添加体验组织并开通应用

    **
    重要:面向企业的应用必须企业开通才能进行体验,您需要创建专门的体验组织并为此组织开通本应用。

    请注意:此处添加的体验组织是创建全新的测试组织,并不能添加已有组织为体验组织-比如本应用所在的开发组织。

    测试应用可以直接开通。而正式应用需要验证回调有效性并设置好回调URL才能开通。本demo建议创建的是测试应用,因此可以暂时忽略验证回调有效性,可直接开通本应用。

    依照本节前述的示例,进入到开发者后台的左侧菜单的应用菜单,并选择进入应用详情页找到版本管理,可通过“添加体验组织”来创建全新体验组织和开通应用。
    在这里插入图片描述

    在IDE模拟器上体验应用

    在IDE上方,选择已经开通本应用的体验组织(如未出现尝试重启IDE),如下图所示:

    在这里插入图片描述

    然后再选择关联应用,IDE会重新编译前端代码并载入页面,
    在这里插入图片描述

    如果获取到用户信息userid则表示应用运行成功。
    在这里插入图片描述

    展开全文
  • 移动程序关联 URL 是常态,桌面应用程序其实也早就支持关联 URL 以便在浏览器中打开。...本文介绍如何你的应用关联一个 URL 协议。 本文内容URL 协议注册一个 URL 协议好好想一个协议名称在注册...

    移动程序关联 URL 是常态,桌面应用程序其实也早就支持关联 URL 以便在浏览器中打开。当我们的程序关联了一个 URL 协议之后,开发的网站上就可以通过这个 URL 与程序进行互操作,这很互联网。

    对于 Windows 桌面应用来说,关联一个 URL 协议是通过修改注册表来实现的。本文介绍如何为你的应用关联一个 URL 协议。


    URL 协议

    一个常用的 URL 协议是这样子的:https://walterlv.com。前面的 https 就是协议名称,而 https:// 放在一起就是在使用 https 协议。

    本文我们将定义一个 walterlv 协议,然后关联到我们本地安装的一个桌面应用程序上,然后使用 walterlv://open?id=1 来打开一个 id 为 1 的逗比。

    注册一个 URL 协议

    要在 Windows 系统上注册一个 URL 协议,你只需要两个步骤:

    • 好好想一个协议名称
    • 在注册表中添加协议关联

    好好想一个协议名称

    就知道你想不出来名字,于是可以使用命名生成工具:Whitman,其原理可阅读 冷算法:自动生成代码标识符(类名、方法名、变量名) - 吕毅

    然后本文使用协议名称 walterlv

    在注册表中添加协议关联

    你需要在注册表的 HKEY_LOCAL_MACHINE\Software\Classes 或者 HKEY_CURRENT_USER\Software\Classes 添加一些子键:

    HKEY_CURRENT_USER\Software\Classes
        walterlv
            (Default) = 吕毅的特殊链接
            URL Protocol = WalterlvProtocol
            Shell
                Open
                    Command
                        (Default) = "C:\Users\lvyi\AppData\Local\Walterlv.Foo\Walterlv.Windows.Association.exe" "%1"
    

    Classes 中的那个根键 walterlv 就是我们的协议名称,也就是 walterlv:// 的那个前缀。

    walterlv 根键 中的 (Default) 属性给出的是链接的名称;如果后面没有设置打开方式(也就是那个 Shell\Open\Command)的话,那么在 Chrome 里打开就会显示为那个名称(如下图)。

    默认的协议名称

    URL Protocol 这个注册表项是必须存在的,但里面的值是什么其实无所谓。这只是表示 walterlv 是一个协议。

    接下来 Shell\Open\Command 中的 (Default) 值设置为一个打开此协议用的命令行。其中路径后面的 "%1" 是文件资源管理器传入的参数,其实就是文件的完整路径。我们加上了引号是避免解析命令行的时候把包含空格的路径拆成了多个参数。

    在正确填写了注册表的以上内容之后,在 Chrome 里打开此链接将看到以下 URL 打开提示:

    带有打开命令的协议

    关于注册表路径的说明

    HKEY_LOCAL_MACHINE 主键是此计算机上的所有用户共享的注册表键值,而 HKEY_CURRENT_USER 是当前用户使用的注册表键值。而我们在注册表的 HKEY_CLASSES_ROOT 中也可以看到跟 HKEY_LOCAL_MACHINE\Software\ClassesHKEY_CURRENT_USER\Software\Classes 中一样的文件关联项,是因为 HKEY_CLASSES_ROOTHKEY_LOCAL_MACHINE\Software\ClassesHKEY_CURRENT_USER\Software\Classes 合并之后的一个视图,其中用户键值会覆盖此计算机上的相同键值。

    也就是说,如果你试图修改文件关联,那么需要去 HKEY_LOCAL_MACHINE\Software\ClassesHKEY_CURRENT_USER\Software\Classes 中,但如果只是去查看文件关联的情况,则只需要去 HKEY_CLASSES_ROOT 中。

    写入计算机范围内的注册表项需要管理员权限,而写入用户范围内的注册表项不需要管理员权限;你可以酌情选用。


    我的博客会首发于 https://blog.walterlv.com/,而 CSDN 会从其中精选发布,但是一旦发布了就很少更新。

    如果在博客看到有任何不懂的内容,欢迎交流。我搭建了 dotnet 职业技术学院 欢迎大家加入。

    知识共享许可协议

    本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。欢迎转载、使用、重新发布,但务必保留文章署名吕毅(包含链接:https://walterlv.blog.csdn.net/),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。如有任何疑问,请与我联系

    展开全文
  • 安装被策略阻止

    万次阅读 2017-09-08 21:42:06
    有用的键盘插到电脑,显示:安装被策略阻止    自己解决办法  1.点击开始菜单(或使用“Win+R”键)→键入“gpedit.msc”回车。  2.依次展开:“计算机配置”→“管理面板”→“系统”→“设备安装”→“设备...
  • android5.0之后如何获取当前运行的应用包名 标签: android运行栈getRunningTasksgetRunningAppProcess 2016-11-24 11:32 228人阅读 评论(0) 收藏 举报 本文章已收录于: 分类: android之旅1.0(7) ...
  • 产品不允许第三方软件安装,所以需要禁止掉APK的安装功能。一开始我把Packageinstaller.apk从系统里面删了,试了一下,放一个APK到SD卡,点击安装,确实安装不了!不过,通过PC端类似于“手机助手”的软件以及ADB...
  • 修改linux系统用户最大线程数限制

    千次阅读 2018-06-26 11:47:13
    ulimit:显示(或设置)用户可以使用的资源的限制(limit),这限制分为软限制当前限制)和硬限制(上限),其中硬限制是软限制的上限值,应用程序在运行过程中使用的系统资源不超过相应的软限制,任何的超越都...
  • iOS 应用安装失败原因排查

    千次阅读 2016-04-13 09:32:20
    前言 iOS 的内测应用安装时,很多人都...这样问题是因为在 iOS 9 以后的版本中,苹果对企业签名的应用做了更严格了限制。具体解决办法请见: 在 iOS 9 中运行企业版应用 在 iOS 9 中点击“安装”按钮后,没有弹出
  • 什么应用魔方 AppCube? 低代码开发平台是一种全新的开发方式,通过平台提供的界面、逻辑、对象等可视化编排工具,以“拖、拉、拽”的方式来快速构建应用,从而即所见即所得的快速应用开发和构建。 应用魔方 ...
  • 为什么用Python开发桌面应用程序

    万次阅读 2018-01-22 15:15:40
    为什么用Python开发桌面应用程序 为什么用Python开发桌面应用程序 1)wxWidgets是一个比MFC优雅的库,TortoiseCVS用wxWidges而不用MFC,就是因为wxWidgets好用,而不是为了可以移植。 2)Python的面向...
  • PWA应用

    万次阅读 2018-09-30 11:45:32
    一、什么是PWA应用 一个新的前端技术,PWA( 全称:Progressive Web App )也就是说这是个渐进式的网页应用程序。 官网:https://developers.google.com/web/progressive-web-apps/ 是 Google 在 2015 年提出,2016...
  • 某些情况下定制的Android系统为了限制用户安装应用,例如电视盒子,车载中控等,通过修改代码屏蔽了正常安装应用的方式 本文探讨如何在 adb shell 具有读写data分区目录的权限前提下,通过adb push 拷贝方式绕过Android...
  • Linux下非root用户解决限制gcc、g++版本升级问题 》》》针对非root用户直接运行其他平台编译好的程序,会报出 本文采取升级gcc版本做法,项目需求升级到gcc-4.8.5 下载GCC源码以及所有依赖包 分成服务器联网和断网...
  • SpringBoot整合RabbitMQ之 典型应用场景实战一

    万次阅读 多人点赞 2018-10-09 15:08:04
    RabbitMQ 作为目前应用相当广泛的消息中间件,在企业级应用、微服务应用中充当着重要的角色。特别是在一些典型的应用场景以及业务模块中具有重要的作用,比如业务服务模块解耦、异步通信、高并发限流、超时业务、...
  • 什么用户态?什么是内核态?如何区分?

    万次阅读 多人点赞 2018-04-13 20:33:38
    原文地址:https://blog.csdn.net/morixinguan/article/details/50775417...而在相应的低级别执行状态下,代码的掌控范围会受到限制。只能在对应级别允许的范围内活动。举例:intel x86 CPU有四种不同的执行级别0...
  • 所以,CPU将指令分为特权指令和非特权指令,对于那些危险的指令,只允许操作系统及其相关模块使用,普通的应用程序只能使用那些不会造成灾难的指令。Intel的CPU将特权级别分为4个级别:RING0,RING1,RING2,RING...
  • SELinux 受限用户和非受限用户

    千次阅读 2022-03-25 11:08:11
    这允许 Linux 用户继承对 SELinux 用户限制。通过以 root 身份运行命令:semanage login -l可以看到此 Linux 用户映射: Login Name SELinux User MLS/MCS Range Service __default__ unconfined_u s0-s0:c0.c...
  • 磁盘配额:NAS 用户 容量限制

    千次阅读 2015-12-17 17:16:41
     通过实现磁盘配额可以限制磁盘空间,当一个用户消耗太多的磁盘空间或磁盘分区写满时给系统管理员报警。  在linux中我们只能使用超级管理员root用户进行磁盘配额的设置,并且磁盘配额是基于文件系统的,也就是...
  • Windows的权限(用户、组和访问控制)

    万次阅读 多人点赞 2022-02-04 11:05:53
    一、用户与组介绍 1.1、用户账户 Windows的用户帐户是对计算机用户身份的识别,且本地用户帐户和密码信息是存储在本地计算机上的(即由:安全账户管理器【Security Accounts ...通过本地用户和组,可以为用户和组..
  • 最近遇到一个问题,有个别用户应用内更新版本会出现解析包失败的情况,而且有的机型还是必现,浏览器下载就没问题,应用内就有问题,这就很让人费解,之前一直没关注过这种情况,但是用户就是上帝,有问题必须得...
  • 侧链的应用方向

    万次阅读 2019-03-25 09:25:25
    本文我们探讨侧链可能面向用户应用,这些应用可以有效地扩展比特币系统,做更多有趣的事情。 一直读本专题的同学应该注意到,前面的文章已经提及多次了,最有代表性的一个应用就是简单地创建一条竞争链,该链上币...
  • Linux | 为什么用户态和内核态的切换耗费时间?

    万次阅读 多人点赞 2018-04-09 09:27:29
    思考这个问题的导火线是,看到java中的...这个观点在学操作系统的时候作为常识认知,那背后具体的原理是什么呢? 一句话回答问题: 上面涉及的内核态与用户态切换时系统调用,内核也相当于一个软件,他...
  • Java实现用户头像上传(修改默认文件大小限制

    万次阅读 多人点赞 2018-08-25 14:04:39
    Controller的接收方式如下: @ApiOperation(value = "设置用户头像", notes = "设置当前用户头像") @PutMapping("/profiles") public SystemResult setUserProfile(@RequestParam(required = true) MultipartFile ...
  • 云原生应用的十大设计原则

    万次阅读 2021-03-10 22:19:12
    通过分区解决限制 运营设计 使用托管服务 使用最佳的数据存储完成作业 演变设计 根据业务需求构建 越来越多的企业选择上云,在云上构建自己公司的核心应用程序,通过云来大大减少公司的IT运维成本,提高应用...
  • 物联网卡网速被限制如何解除

    万次阅读 2019-12-09 14:27:12
    物联卡是顺应物联网时代发展趋势而产生的新型网络连接工具,是一种专门面向物联网企业...但是随着物联卡大批量应用,有许多用户开始吐槽说,4g物联卡使用一段时间后网络开始变得特别慢,虽然物联卡显示4g网络,但...
  • 安卓升级到6.0(targetSdkLevel 23)后,对应用权限的要求更加严格,从之前的应用安装前权限检查改新的运行时检查机制,如果未做调整,就容易产生安全异常。SecurityException. 本文译自安卓官方文档,希望给应用...
  • Win7/Win10移动用户文件夹(C:\Users)移到非系统盘(如D:)

    万次阅读 多人点赞 2019-06-02 14:53:08
    Windows的用户文件夹默认所在位置是系统盘(通常是C盘)下的“\Users”目录之内。该文件夹中保存着所有的用户个人数据,比如你保存在“桌面”上的文件(实际上是保存在C:\Users\你的用户名\Desktop\目录之中),再...
  • Android 11 应用兼容性适配,看这篇就够了

    万次阅读 多人点赞 2020-09-23 10:10:55
    本文档基于谷歌Android 11 Developer Preview 4(DP4)版本的变更输出 一、兼容性调试工具 ...不管是影响所有应用的行为变更还是只影响以 Android 11 目标平台的应用的行为变更,您都可以随意开启或关
  • 概述知识图谱在人工智能中的应用

    万次阅读 多人点赞 2018-07-03 02:46:00
    知识图谱(Knowledge Graph) 以其强大的语义处理能力和开放组织能力,互联网时代的知识化组织和智能应用奠定了基础。 知识图谱作为近两年在大数据时代下新颖的知识组织与检索技术,其知识组织和展示的优势逐渐体现...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 546,615
精华内容 218,646
关键字:

为什么当前用户被限制安装应用