我正在使用 Flutter WebRTC 来创建 P2P 视频通话。
我遇到了与网络相关的问题:我已经完成了应用程序,但它仅适用于移动数据。
将网络更改为 WiFi 时,它不起作用并且连接状态挂起Checking
我使用 Google 社区 STUN/TURN 服务器和 Node JS socket.io 来发送信号。当移动设备不在同一网络上但仅使用移动数据时,它也可以工作。
我创建了一个应用程序并将其打包/发布为 Flatpak(以及其他)。该应用程序具有用户可以启用的设置,因此当用户登录其系统时该应用程序将自动启动。
此设置作为常规 Linux 应用程序运行良好,但是 Flatpak 打包应用程序似乎需要使用 dbus 方法来设置此设置,而这似乎对我不起作用。
根据 Flatpak 文档,我尝试使用RequestBackground dbus 方法在登录时自动启动应用程序,但它不起作用 - 即使响应成功,返回报告两者background&autostart现在都是true.
如果我传递一个普通应用程序作为commandline参数,gedit它会按预期工作,并在我注销/登录时自动启动。然而,向它传递命令来运行 Flatpak 之类的命令flatpak run <id>,或者甚至/usr/bin/flatpak run <id>似乎不起作用。我的 flatpak 应用程序如何设置为在用户登录系统时自动运行?
使用dbus-monitorI 可以捕获交互。
method call time=1690393997.911834 sender=:1.74 -> destination=:1.115 serial=2703 path=/org/freedesktop/portal/desktop; interface=org.freedesktop.impl.portal.Background; member=EnableAutostart
string ""
boolean true
array [
string "/usr/bin/flatpak"
string "run"
string "codes.merritt.Nyrna"
]
uint32 0
method return time=1690393997.912268 sender=:1.115 -> destination=:1.74 serial=1674 reply_serial=2703
boolean …Run Code Online (Sandbox Code Playgroud) 当从一个焦点组遍历到下一个焦点组时(键盘上有选项卡),我希望焦点移动到下一组中的第一个字段,但它似乎没有关注任何内容 - 然后另一个选项卡移动到该组中。
class MyHomePage extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
body: Center(
child: SizedBox(
width: double.infinity,
child: Row(
mainAxisAlignment: MainAxisAlignment.spaceEvenly,
children: [
for (var i = 0; i < 2; i++)
FocusableActionDetector(
onFocusChange: (focused) {
if (!focused) {
print('Have left focus group');
}
},
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
for (var i = 0; i < 3; i++)
SizedBox(
width: 150,
child: TextField(),
),
],
),
),
],
),
),
),
);
}
} …Run Code Online (Sandbox Code Playgroud)