我写了一个简单的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更改为原始状态并重启,它会正常启动. …
在小米的MI设备上,有一个功能是在他们的安全应用程序中关闭/打开"自动启动".(在安全性应用程序 - >权限 - >自动启动)
这意味着当应用程序未运行时,任何广播接收器都不会收到任何内容.所以BOOT_COMPLETED,USER_PRESENT,CONNECTIVITY_CHANGE等......都行不通.(他们在应用程序处于前台后工作了一段时间,但很快就停止了).用户从小米的"最近的应用程序"版本中刷出应用程序后,它们也停止工作
即使GCM也无法将其唤醒
对于消息传递应用程序,这是一个杀手.
默认情况下,Whatsapp,Messenger,Flipkart等应用程序默认启用(即使这些应用程序未预先安装).
大多数其他应用程序默认禁用此功能.例如.默认情况下禁用Slack.
有没有办法默认进入这个白名单?
android android-service android-broadcast android-broadcastreceiver