搞这个“道德的界限”安卓应用,一开始想得简单,不就是做一个有点意思的小工具嘛谁知道一写起来,麻烦事儿一大堆。尤其那个权限管理,搞得我头大。一个破小应用,要动用户的相册、联系人,你说这算不算越界?但为了实现那个“一键分享给微信好友”的功能,没办法,硬着头皮也得上。

为什么我对这些权限的“界限”这么敏感?那是以前,我被一家外包公司坑惨了。他们让我去一个完全不相关的项目组帮忙,天天加班到深夜,结果?项目黄了,老板跑路,工资欠了我三个月。更过分的是,走之前我发现他们把我的工作手机里的数据全给同步走了,连我私人备份的微信聊天记录都不放过。当时那个气,感觉自己的界限被人踩烂了。从那以后,我做任何App,都会特别注意用户的数据。我清楚,有些功能,必须得“越界”才能实现,这就是做软件的拧巴地方。

迈出第一步:清单声明与规划

第一件事,我打开了Manifest文件,先敲进去几个重要的权限声明,就是告诉系统:“我要动这些东西了。” 不声明,后面都是白搭。写完了,心理压力小了一半。我的设计思路是:能少要,就不多要;要了,就说清楚。

运行时权限:麻烦的开始

定义好了,接下来的才是重头戏。现在安卓版本高了,不是你声明了就行的,得在代码里检查,用户点了同意才算数。我新建了一个权限管理工具类(懒得每次都写,复制粘贴多省事),主要扔进去了这些步骤:

    小编温馨提醒:本站只提供游戏介绍,下载游戏请前往89游戏主站,89游戏提供真人恋爱/绅士游戏/3A单机游戏大全,点我立即前往》》》绅士游戏下载专区

  • 先判断,是不是安卓6.0以上。
  • 然后调用那个`checkSelfPermission`,看用户之前有没有给我。
  • 要是没有,就得弹窗请求了,用那个`requestPermissions`。
  • 再用一个接口监听,等系统通知我结果。

界限的处理:用户拒绝了咋办?

这才是真正考验“道德界限”的地方。用户拒绝了,你不能死缠烂打。我设计了一个机制,如果用户第一次拒绝,我就弹一个Snackbar,解释清楚为什么需要这个权限。告知用户这是为了更好的分享体验,而不是偷东西。如果用户第二次还拒绝,对不起,这个分享功能直接变灰,按钮点不下去,功能直接禁用。用户选择了界限,我就遵守。这部分我磨了好久,就怕用户体验不骂我是流氓软件。

实现与心得体会

等权限这一块跑通了,剩下真正的“分享”功能就简单多了。我拿到了权限,直接调起微信的SDK接口,把用户想分享的内容塞进去,搞定。整个过程走完,我才明白,写代码就像在走钢丝,既要实现功能,又不能跨过用户的心理底线。不像那些动不动就要你位置信息,联系人,短信记录的App,那不是技术,那是耍流氓。

我这个‘道德的界限’,虽然名字听着大,但我的实践原则就是:用户数据是人家的隐私,我只是个借用者。收工!

免责声明:喜欢请购买正版授权并合法使用,此软件只适用于测试试用版本。来源于转载自各大媒体和网络。 此仅供爱好者测试及研究之用,版权归发行公司所有。任何组织或个人不得传播或用于任何商业用途,否则一切后果由该组织及个人承担!我方将不承担任何法律及连带责任。 对使用本测试版本后产生的任何不良影响,我方不承担任何法律及连带责任。 请自觉于下载后24小时内删除。如果喜欢本游戏,请购买正版授权并合法使用。 本站内容侵犯了原著者的合法权益,可联系我们进行处理。