小编Gau*_*tam的帖子

通过tcp连接到dbus

我写了一个简单的python程序来播放和暂停banshee音乐播放器.当它在我自己的机器上工作时,我无法将其连接到连接到同一路由器(LAN)的远程计算机.我编辑了远程机器的session.conf,添加以下行:

<listen>tcp:host=localhost,port=12434</listen>
Run Code Online (Sandbox Code Playgroud)

这是我的计划:

    import dbus


    bus_obj=dbus.bus.BusConnection("tcp:host=localhost,port=12434")
    proxy_object=bus_obj.get_object('org.bansheeproject.Banshee',                              
    '/org/bansheeproject/Banshee/PlayerEngine')

    playerengine_iface=dbus.Interface(proxy_object,
    dbus_interface='org.bansheeproject.Banshee.PlayerEngine')

    var=0

    while (var!="3"):
        var=raw_input("\nPress\n1 to play\n2 to pause\n3 to exit\n")


            if var=="1":
                print "playing..."
                playerengine_iface.Play()

            elif var=="2":
                print "pausing"
                playerengine_iface.Pause()
Run Code Online (Sandbox Code Playgroud)

这是我尝试执行它时得到的结果

Traceback (most recent call last):
  File "dbus3.py", line 4, in <module>
    bus_obj=dbus.bus.BusConnection("tcp:host=localhost,port=12434")
  File "/usr/lib/python2.7/dist-packages/dbus/bus.py", line 125, in __new__
    bus = cls._new_for_bus(address_or_type, mainloop=mainloop)
dbus.exceptions.DBusException: org.freedesktop.DBus.Error.NoServer: Failed to connect to socket "localhost:12434" Connection refused
Run Code Online (Sandbox Code Playgroud)

我在这做错了什么?我应该编辑/usr/lib/python2.7/dist-packages/dbus/bus.py

更新:

好的,这是我添加的交易

<listen>tcp:host=192.168.1.7,port=12434</listen>
Run Code Online (Sandbox Code Playgroud)

到/etc/dbus-1/session.conf,然后重启,希望它会在重新启动时开始监听,它永远不会启动.它在加载屏幕上卡住,偶尔会出现以下文字的黑屏:

Pulseaudio Configured For Per-user Sessions Saned Disabled;edit/etc/default/saned
Run Code Online (Sandbox Code Playgroud)

所以,当我去ctrl + alt + f1时,将session.conf更改为原始状态并重启,它会正常启动. …

python dbus

21
推荐指数
2
解决办法
2万
查看次数

无法从小米设备的后台唤醒应用程序,直到手动启用"自动启动"

在小米的MI设备上,有一个功能是在他们的安全应用程序中关闭/打开"自动启动".(在安全性应用程序 - >权限 - >自动启动)

在此输入图像描述

这意味着当应用程序未运行时,任何广播接收器都不会收到任何内容.所以BOOT_COMPLETED,USER_PRESENT,CONNECTIVITY_CHANGE等......都行不通.(他们在应用程序处于前台后工作了一段时间,但很快就停止了).用户从小米的"最近的应用程序"版本中刷出应用程序后,它们也停止工作

即使GCM也无法将其唤醒

对于消息传递应用程序,这是一个杀手.

默认情况下,Whatsapp,Messenger,Flipkart等应用程序默认启用(即使这些应用程序未预先安装).

大多数其他应用程序默认禁用此功能.例如.默认情况下禁用Slack.

有没有办法默认进入这个白名单?

android android-service android-broadcast android-broadcastreceiver

10
推荐指数
1
解决办法
692
查看次数