sl4a python通知问题

Posted

技术标签:

【中文标题】sl4a python通知问题【英文标题】:sl4a python notify question 【发布时间】:2011-11-05 17:28:31 【问题描述】:

我有两个关于 sl4a 脚本语言的问题。我想开发一个python脚本,服务器会定期联系它并将一些信息发布到通知栏。

我已经成功将消息添加到通知栏,但是

    通知图标始终是 sl4a 徽标。有没有办法把它改成别的东西? (我不介意使用一些 hack 方法,例如重命名资源文件,如果可以的话......) 当我点击通知时,它只是删除了消息。我想添加一些将用户带到某些应用程序或网页的意图。有可能吗?

谢谢!

【问题讨论】:

【参考方案1】:

    官方没有向 SL4A 公开用于自定义通知的 API,这在 android 中确实存在。 参考: http://developer.android.com/guide/topics/ui/notifiers/notifications.html#CustomExpandedView http://code.google.com/p/android-scripting/wiki/ApiReference

    官方没有向 SL4a 公开用于触发用户点击意图的 API。 .

    notify(
     String title: title,
     String message)
    

Notify,只是显示一个通知,当用户点击它时会被取消。现在,如果您能以某种方式跟踪此通知的取消,您就可以使用您的脚本启动一个新意图。

破解?

请注意,Android 会处理来自 SL4A 的这些通知,而不是来自您的脚本。 (由于您获得了 SL4A 图标)因此,以某种方式可以使用所有暴露于普通 JAVA 代码的 API,将 SL4A 视为应用程序,但是这种方法将使您使用 SL4a 的所有应用程序都具有相同的徽标. ;)

【讨论】:

我认为无论是通过 SL4A 还是直接通过 Java 使用 Python 都没有关系,因为在 SL4A 中,我只能使用 SL4A 公开的 API 与系统进行通信。在 Java 中,我拥有可用于创建自定义通知的所有 Android API。 对不起,根据你的回答,我仍然不知道如何从 Python 中实现自定义通知图标...看起来这是给可以访问 Java 接口的人的。 @Patrick:我已经改进了我的答案,希望能对你有所帮助。 看来我可能需要修改 SL4A 代码以更改通知行为...感谢更新!

以上是关于sl4a python通知问题的主要内容,如果未能解决你的问题,请参考以下文章

使用没有 SL4A 的 Python android.py 模块

Python SL4A 开发

使用 SL4A (Python) 和蓝牙

使用 sl4a 将事件从 python 发送到 javascript

Android:从 Java 代码调用 Python 脚本(通过 SL4A)

使用 SL4A 从 python 脚本返回结果返回到 Android 应用程序