tools:ignore="ExportedService" 的作用

本文探讨了Android中Activity、Service及Content Provider的导出设置方法。解释了如何通过配置文件控制这些组件是否允许被其他应用程序调用,并讨论了使用权限限制及忽略标记的方式。

 看I/O的源码的时候发现这个字段,也没具体的结束。

 在StackOverFlow看到一个回复现搜集如下

If you want to restrict you activity usage to your own application, then you should add exported=falseto your activity's manifest statement.

If you want to allow other applications to use it (explicitly through its class name or, better, by using an intent with a data type or action) then you have two choices :

  • restrict those applications by using a permission
  • allow all applications to use it, then you can add tools:ignore="ExportedActivity" to your activity's manifest statement.

--

Same reasonning applies to a service, with tools:ignore="ExportedService" and content providers with tools:ignore="ExportedContentProvider".


地址:http://stackoverflow.com/questions/10474134/exported-service-does-not-require-permission-what-does-it-mean

在 Android 开发中,`tools:ignore="ScopedStorage"` 是一个用于忽略 Android 工具提示的标记,主要用于处理 Android 10 及以上系统推行的分区存储(Scoped Storage)机制带来的权限使用提示问题。 ### 使用场景 在 Android 10 及以上版本引入了分区存储机制,对外部存储的访问权限有了更多限制。当开发者在 `AndroidManifest.xml` 中声明一些传统的外部存储访问权限(如 `WRITE_EXTERNAL_STORAGE`、`MANAGE_EXTERNAL_STORAGE`)时,Android 开发工具(如 Android Studio)可能会给出关于分区存储的警告提示。为了避免这些提示干扰开发过程,开发者可以使用 `tools:ignore="ScopedStorage"` 来忽略这些警告。例如: ```xml <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" android:maxSdkVersion="32" tools:ignore="ScopedStorage" /> <uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE" tools:ignore="ScopedStorage" /> ``` 在这个示例中,`tools:ignore="ScopedStorage"` 用于忽略 `WRITE_EXTERNAL_STORAGE` 和 `MANAGE_EXTERNAL_STORAGE` 权限在分区存储机制下的相关警告提示 [^3][^4]。 ### 作用 `tools:ignore="ScopedStorage"` 的主要作用是让开发者在代码中继续使用一些传统的外部存储访问权限,同时避免 Android 开发工具的警告干扰。这样开发者可以在处理兼容性问题时,更专注于代码逻辑的实现,而不必频繁处理这些警告信息。 ### 注意事项 - **兼容性问题**:虽然使用 `tools:ignore="ScopedStorage"` 可以忽略警告,但开发者仍然需要确保应用在不同 Android 版本上的兼容性。在 Android 10 及以上版本,应该尽量使用分区存储机制提供的 API 来访问外部存储,而不是过度依赖传统的权限 [^1][^4]。 - **审核风险**:在应用发布到应用商店(如 Google Play)时,需要确保应用的权限使用符合应用商店的规定。如果应用过度使用传统的外部存储访问权限,可能会面临审核不通过的风险。 - **代码维护**:使用 `tools:ignore="ScopedStorage"` 只是一种临时的解决方案,随着 Android 系统的不断更新,分区存储机制会越来越完善,开发者应该逐步迁移到使用分区存储的 API,以提高代码的可维护性和兼容性。
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值