Kivy使用安卓通知

6

能否使用Python和/或Kivy在iOS上发送本地通知?实际上不需要振动,只需要一个数字图标和可能是实时消息。

编辑:

从评论中看来,Pyobjus可以完成这个任务,但我不确定如何操作。

哎呀!我的梦想破灭了。我的Hackintosh还没有完成,而且Pybojus需要Mac!所以这似乎只能成为一个Android应用程序。但我仍然不知道该怎么做。


当然可以;推送通知只是一种通信形式。这就像问Python和Kivy是否可以执行HTTP一样。你在这里没有提供足够的信息。你特别指的是苹果推送通知服务吗?如果是这样,你可能只需要使用本地API。在Android上,我们使用pyjnius调用本地Java代码--我认为在iOS上有类似于Kivy的东西。 - kitti
1
http://zh.wikipedia.org/wiki/Push_Technology http://zh.wikipedia.org/wiki/Apple_Push_Notification_Service https://developer.apple.com/library/ios/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/Introduction.html - kitti
你很可能仍需要使用pyobjus。http://pyobjus.readthedocs.org/en/latest/ 基本上,你需要加载任何需要的框架,然后使用“autoclass”创建一个Python代理到ObjC类,并调用方法,就像在ObjC iOS应用程序中一样。 - kitti
错误是由 app_icon = Drawable.icon 导致的,这里是解决方案 https://dev59.com/-mgMtIcB2Jgan1znPOKh#69307364 - Sumit Gupta
2个回答

8

既然你把话题改成了Android,我可以帮忙!

Kivy有一个姐妹项目,plyer,提供一种平台无关的方式来通过单个Pythonic接口访问不同的API。对于Android,已经实现了相当多的接口,包括通知,因此您可以直接使用plyer和/或查看代码以了解其工作原理。

恰好我之前制作过一个关于Android的短视频,你可以在这里找到它。这只是一个非常简短的介绍,但可能会有所帮助。


我很快就要尝试这个,但我在设置它时遇到了一些问题!你是怎么安装 plyer 的?显然它依赖于 pyjnius,但当我运行 setup.py 时,出现“无法确定 JDK_HOME”的错误,但 JDK_HOME 变量已经被设置了!在命令行中输入“echo $JDK_HOME”可以得到“/usr/usr/lib/jvm/java-7-openjdk-amd64”。 - pianist1119
我正在尝试在Linux上安装它,Ubuntu 12.04 LTS,以便为Android开发。 - pianist1119
嗯,现在我想起来了,你能安排通知吗?或者有没有办法访问Android时钟API? - pianist1119
是的,你可以使用pyjnius。这可能最终会被plyer包装,但目前还没有。 - inclement
@inclement,你还没有告诉我如何在Linux上安装!你能帮我吗?我的应用程序的其余部分已经完成了 :) - pianist1119
显示剩余6条评论

3

我希望这能帮助到你。

import kivy.app
import plyer

class PushNotificationApp(kivy.app.App):
    def show_notification(self):
        plyer.notification.notify(title='test', message="Notification using plyer")

app = PushNotificationApp()
app.run()

嗨,我正在尝试使用Plyer实现Android应用程序的通知。在我的笔记本电脑上它运行良好,我可以收到通知,但是当我使用Buildozer为Android构建时,每当执行通知行时应用程序就会崩溃...我不知道问题出在哪里,你能帮忙吗? - dev1ce

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接