【问题标题】:Get list of all apps with QPython / sl4a使用 QPython / sl4a 获取所有应用程序的列表
【发布时间】:2018-01-29 13:54:50
【问题描述】:

有谁知道我如何使用 Qpython 从安装在 Android 上的所有应用程序中获取软件包列表?

我的目标是列出所有应用程序并能够运行,使用getLaunchableApplications() 和“启动”功能,直到我可以打开一些,但它并不适合所有人。我进行了测试,如果我得到包的名称,我应该能够使用startActivity() 打开任何应用程序。

【问题讨论】:

    标签: android sl4a qpython qpython3


    【解决方案1】:

    这是使用androidhelper 模块打印出所有可启动应用程序的代码

    import androidhelper
    droid=androidhelper.Android()
    launchable_app=droid.getLaunchableApplications()
    print(launchable_app)
    

    您可以使用pprint() 而不是print() 来获得可读格式

    【讨论】:

    • 太棒了!我以前没见过!这是文档:ApplicationManagerFacade.
    • getLaunchableApplications().result 返回一个u"AppName":u"ClassName" 对的字典,然后你可以通过调用launch(u"ClassName") 来启动!这绝对比使用subprocess 更好。
    【解决方案2】:

    Android 内部有一个可执行文件pm(包管理器),使用pm list packages 列出已安装的包。如果你想自动化查询进度,subprocess.check_output(["pm","list","packages"]) 可能是个不错的方法。

    关于你的第二个问题——“启动应用程序”,这里已经回答了:Launch android app from SL4A script?

    【讨论】:

    • 我不知道为什么人们会否决这个问题,如果这个问题有一些问题,我认为投反对票的人至少应该评论解释他们为什么投反对票,因为投反对票本身没有帮助,对吗?
    • 我完全同意。我也是不合逻辑的投票情况的受害者。必须有一条评论才能投反对票!仅仅保持匿名并不足以让 Stack Overflow 用户犯下仇恨罪行并在没有问题或评论的情况下侥幸逃脱。元社区,请尽快阅读此内容。谢谢!
    猜你喜欢
    • 2016-10-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-08
    • 2014-06-29
    • 1970-01-01
    • 2021-07-31
    • 2012-11-21
    相关资源
    最近更新 更多