0

我正在尝试通过 QPython 3L 在我的 Android 手机上直接编译 Python 代码,这对于一些初始示例来说很好。现在我想阅读通话记录,这是我的代码。

from androidhelper import sl4a  
droid = sl4a.Android()

myconst = droid.getConstants("android.provider.CallLog$Calls").result
print(myconst['CONTENT_URI'])
calls=droid.queryContent(myconst['CONTENT_URI'],["number","duration","date","type"]).result

在上面的最后一行,它抛出一个NullPointerException和 - 经过多次试验和错误并在谷歌上搜索 - 我很确定根本原因是缺乏授权。

您能否确认是否是这种情况(或者您发现了一个错误,与我的看法相反),如果这适合我的特定代码上下文,请指出一些文档以添加授权请求?

4

1 回答 1

0

有时要解决这样的编程问题,需要运气、大量的幻想和极端的意志力。

可以在此github 页面上找到解决方案(一旦真正知道要做什么以及在哪里搜索) 。常见问题解答如下:

A:为什么有这么多分店?Q:因为Google Play和一些应用商店对应用权限有严格的要求,所以他们需要不同的权限,我们使用不同的分支代码,比如3表示是QPython3,L表示LIMITED,S表示需要SENSITIVE权限。

在 Android 上通过下载进行特殊(一次性)安装后,您必须使用 Android 权限管理手动将电话权限添加到应用程序。下载的应用程序将替换通过 Google Play 安装的应用程序,您会发现您的脚本已经存在,可以运行,希望没有 NPE。

于 2020-04-03T17:05:40.373 回答