Android N可以将你的activity关联到应用程序在设置中的页面。只需添加<intent-filter>
并为android.intent.action.APPLICATION_PREFERENCES
设置,Android N的设置应用程序将查找具有该<intent-filter>
的应用程序中的活动。如果设置找到一个,它将在设置中添加一个齿轮图标,并且如果用户点击齿轮图标,则会进入您指定的活动。
我很担心安全问题,所以我提交了问题,寻找我们可以使用android:permission
来允许设置启动我们的活动而不允许其他应用程序启动我们的活动(例如WRITE_SECURE_SETTINGS
)的权限。
cketti随即指出,通过android:exported="false"
将其标记为未导出的活动就可以了。出乎我的意料,这是有效的。
设置应用程序如何启动标记为未导出的活动?
我确实认为可能存在一种控制此类情况的权限。但是,对设置应用程序清单文件的简要阅读(主分支,n-developer-preview-5分支)没有找到任何明显的内容。
是否存在一种允许应用程序启动另一个应用程序中未导出组件的权限?如果有,是什么?
如果没有,设置应用程序是如何做到这一点的?