[问题] 初学 onCreate 内部观念问题

楼主: wheado (principal component QQ)   2018-05-08 14:23:44
先附上我的 code ,这是一个要求权限的简单练习
https://ideone.com/7Oc0El
第一个是我想在 onCreate 中简化我的 code
把里面内容写到一个 Permission class
其中里面有一个 askPermission 方法
而且 onRequestPermissionsResult 这个 callback 也在 Permission 中改写
这样我只要在 onCreate 中改写成 "Permission().askPermission" 就好了
也可以不用在 MainActivity 中看到 onRequestPermissionsResult
第二个问题是我想在 要求权限/已经有权限 以后才执行
Log.i(tag,"Ok, the permission is agree, then you can write some work!!!!")
我的这个例子每次 run 都会跑出这个 Log 然后模拟器出现要求权限
这样很不合理 = =
我想要求完权限再给我 Log
就是一个我要先要求权限
接着继续把 onCreate 跑完 => onStart => onResume
小弟初学在网络有看到一些例子
但是测试以后发现第一个问题可以部份解决,但第二个问题还是一样
求指教
以下是资料连结
https://stackoverflow.com/questions/50206419/override-fun-onrequestpermissionsresult-on-other-class
https://stackoverflow.com/questions/50171998/how-to-use-this-and-context-in-other-class-android-kotlin
作者: t52101t (五子棋)   2018-05-08 15:25:00
这样那个Log要写在onRequestPermissionsResult里呀
作者: LZN (秋)   2018-05-08 16:10:00
requestPermissions是non-block的行为, 会有另一个activity跑在你的前景显示权限要求UI, 而你原本的activity会退到背景
作者: y3k (激流を制するは静水)   2018-05-09 00:10:00
你可以多写一点 就会知道onRequestPermissionsResult()是必要的 有个很重要的概念是onCreate()、onStart()这类function是"你写好这时候要干嘛 然后别人(呼叫这个APP的 也就是系统)照他的步骤呼叫这些function

Links booklink

Contact Us: admin [ a t ] ucptt.com