Android进入设置中应用对应的详情界面
有时候为了引导用户操作,例如手动赋予权限等,需要拉起应用对应的详情界面。
在android.provider包中,系统提供了包括设置、联系人、短信等在内的诸多系统内置Provider,为开发者提供了许多方法。使用Settings类中的ACTION_APPLICATION_DETAILS_SETTINGS,源码中的描述如下:
/**
* Activity Action: Show screen of details about a particular application.
* <p>
* In some cases, a matching Activity may not exist, so ensure you
* safeguard against this.
* <p>
* Input: The Intent's data URI specifies the application package name
* to be shown, with the "package" scheme. That is "package:com.my.app".
* <p>
* Output: Nothing.
*/
@SdkConstant(SdkConstantType.ACTIVITY_INTENT_ACTION)
public static final String ACTION_APPLICATION_DETAILS_SETTINGS =
"android.settings.APPLICATION_DETAILS_SETTINGS";
即可完成跳转系统设置里的应用详情界面,Intent携带数据格式为pacakge:包名。
fun openSettingView(pkg: String) {
val intent = Intent()
intent.action = Settings.ACTION_APPLICATION_DETAILS_SETTINGS
intent.data = Uri.fromParts("package", pkg, null)
startActivity(intent)
}
这个没有技术难度,纯经验积累(百度)。类似工作中很多需求,通过阅读源码会找到突破口,不断积累。唯一的区别是各家ROM各有千秋,可能存在差异。
精彩的人生需要浪漫、无畏和勇气。