如何检查应用程序是否可移动到 SD
我想知道如何通过代码检查应用程序是否可以移动到SD。我知道如何获取已安装的应用程序列表以及它是否在 SD 卡上。
如果 ApplicationInfo 标志包含 ApplicationInfo.FLAG_EXTERNAL_STORAGE 那么它位于 SD 卡上,但如何检查应用程序是否可移动到 SD 卡。
I want to know how to check whether the app is movable to sd or not through code. I know how to get the installed applications list and is it on sd card or not.
If ApplicationInfo flags contains ApplicationInfo.FLAG_EXTERNAL_STORAGE then it is on sd card but how can I check whether the app is movable to sd or not.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我的第一个猜测是查看
InstalledAppDetails
活动。此活动显示“移至手机”和“移至 SD 卡”按钮。它有一个有趣的函数,名为initMoveButton
:尽管并非此函数中使用的所有类都可以通过公共 API 获得。具体来说,
PackageHelper
是内部类。My first guess is too look into Android Source code for
InstalledAppDetails
activity. This is activity which shows "Move to phone" and "Move to SD card" buttons. It has interesting function calledinitMoveButton
:Though not all classes used in this functions are available through public API. Specifically
PackageHelper
is internal class.您可以按用户获取所有应用程序过滤器,并尝试 packetInfo 设置过滤器“INSTALL_LOCATION_INTERNAL_ONLY”
You can get all aplications filter by user and try if packetInfo set filter 'INSTALL_LOCATION_INTERNAL_ONLY'