iPhone 的 XMPPFramework 功能强大。我已经启动并运行了,但是如何在后台保持连接超过 10 分钟?我将不胜感激有关如何完成此操作的更多文档/操作方法。
所以用例简单而常见:Joe 在线并且在 iPhone 聊天应用程序中。他离开聊天应用程序并转到 Safari,玩游戏、播放电影以及做其他事情 3 小时(或更长时间)。乔希望在此期间继续接收消息。
示例应用程序允许 Joe 在后台接收本地通知,但似乎只有 10 分钟。这是相关的代码(我认为)。谢谢!
为了帮助其他人,甚至达到这一点,您需要将 xmppstream 属性 enableBackgroundingSocket 设置为 YES(在您应该复制的 iphoneXMPP 示例项目中为您完成)和 appname-info.plist(即 iosChat- info-plist) 文件,您需要添加新的键/值对。您应该右键单击某处并“添加行”。您应该选择“所需的背景模式”键,然后输入“voip”。按下 Enter 后,Xcode 会检测到您的意思是“应用程序提供 IP 语音服务”。这让您有 10 分钟的时间让聊天应用程序在后台保持打开状态(我认为)。但是我们要无限期地,我怀疑答案就在下面的方法中。我是否应该在此方法或其他方法中“重新连接”,例如,[self connect](我有一个连接方法)?
- (void)applicationDidEnterBackground:(UIApplication *)application{
DDLogVerbose(@"%@: %@", THIS_FILE, THIS_METHOD);
if ([application respondsToSelector:@selector(setKeepAliveTimeout:handler:)])
{
[application setKeepAliveTimeout:600 handler:^{
DDLogVerbose(@"KeepAliveHandler");
// Do other keep alive stuff here.
}];
}}
Run Code Online (Sandbox Code Playgroud) 我的网站上有一个 TinyMCE 编辑器。我添加了 iBrowser,以便人们可以上传图形。没关系。我还尝试使他们能够更改他们正在编辑的网站的背景,但没有成功:如果我在背景中添加带有图像的 HTML div 并返回编辑器并按 Enter 它将我移动到图像下方而不是另一行。
如何在 TinyMCE 中允许用户更改站点的背景图像?
我正在尝试将 png 图像放入我的 html 正文中。挑战在于我的背景是灰色的(现在,但可能会改变),而应该是透明的 png 背景是白色的。如何告诉 html 将图像视为 png 而不是常规图像?我可以将它设置为透明还是必须指定背景颜色(如果我改变背景,透明将是理想的)?
我的代码目前是
<img src="{% static 'livestream/images/streamON.png' %}" alt="on" width="300" height="300">
Run Code Online (Sandbox Code Playgroud) 我可以找到有关此问题的任何线程的错误。几乎我只是为我的 JPanel 添加背景。
我的代码:
package org.client;
import java.awt.EventQueue;
import java.awt.Graphics;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
/**
*
* @author Ryan Taubert || Dev.Ryanj
* @version 0.1
*
*/
public class Main extends JFrame {
private static final long serialVersionUID = -7729008412395425144L;
private BufferedImage img;
private static double APP_VERSION = 0.1;
private static String APP_NAME = "Launcher ~ Version: "+APP_VERSION;
private JPanel jp;
private …
Run Code Online (Sandbox Code Playgroud) 我想设置一个在 JPanel 的整个宽度上重复的图像,就像我们将背景图像应用到 CSS 中的 DIV 一样。我如何获得 JPanel 的摆动?
我想将我的文本框的颜色更改为黄色一秒钟,但我不知道该怎么做。这是我现在的代码,它正在做的是等待一秒钟并为文本框提供第二种颜色。
for(int i=0;i<2;i++){
if(i==0)
{
textbox1.setBackground(Color.yellow); //Turn textbox yellow (first color)
try {
TimeUnit.SECONDS.sleep(1); //wait 1 second
}
catch (InterruptedException e) {}
}
else if(i==1)
{
textbox1.setBackground(Color.white); //Turn textbox white (second color)
}
}
Run Code Online (Sandbox Code Playgroud)
附言。我也试过 Thread.sleep(1000); 插入 TimeUnit.SECONDS.sleep(1);
我注意到这background: transparent
已变成background: 0 0;
使用less
。我使用grunt-contrib-less
的1.4.1
是用于"less": "~2.7.1"
较少转换为CSS的版本。这些0 0
在后台负责什么?使用background: 0 0
代替有什么好处background: transparent
吗?我试图用谷歌搜索,但是找不到任何可以解释我的东西
通过尝试从我的应用程序中引用图像,我一直困扰着我。目录结构为:
src / app / assets / images / splashImage.png
在这种微不足道的情况下,我尝试从以下方面引用它:
src / app / app.component.html
html的第一行:
<div class="splashContainer">
Run Code Online (Sandbox Code Playgroud)
css文件:
.splashContainer {
background: url("../../assets/images/splashImage.png") no-repeat center center fixed;
Run Code Online (Sandbox Code Playgroud)
生成诊断程序说无法从-> URL路径找到文件。
我的规则显然是错误的,是从容纳html的文件夹开始计数。app为1,而src为2,这使我位于资产文件夹上方。因此,这两个../部分。
我究竟做错了什么?
提前致谢。瑜伽士
我想从我的应用程序中打开邮件,并在文本字段中填充“共享我的应用程序...”(底部的消息字段,而不是电话号码字段)
我可以使用以下代码从我的应用程序打开消息:
UIApplication.shared.open(URL(string: "sms:")!, options: [:], completionHandler: nil)
Run Code Online (Sandbox Code Playgroud)
但是我不知道该如何传递信息。可以代替使用MFMessageComposeViewController()来做到这一点吗?我无法将其用于我遇到的背景播放问题,谢谢。
由于最近对后台服务和隐式广播的限制,Android开发人员只能使用JobScheduler以及更高级别的WorkManager来安排后台任务。
WorkManager的Worker类非常简单,但是我对实现正在进行的工作而不是一次性工作的最佳方法有些困惑。在我们的示例中,让我们考虑蓝牙低功耗扫描,但是同样的顾虑也适用于所有正在进行的不确定的工作。
这样的事情显然是行不通的:
public class MyWorker extends Worker {
private BluetoothLeScanner mBluetoothLeScanner;
@Override
public Worker.Result doWork() {
mBluetoothLeScanner = BluetoothAdapter.getDefaultAdapter().getBluetoothLeScanner();
// Pretend there's some bluetooth setup here
// ...
mBluetoothLeScanner.startScan( .. , .. , .. );
return Result.SUCCESS;
}
}
Run Code Online (Sandbox Code Playgroud)
上面我们开始扫描,然后立即超出范围,因此扫描将不会继续。
我们可以使用wait()/ notify()解决这个问题,但是感觉很脏。像这样
public class MyWorker extends Worker {
private BluetoothLeScanner mBluetoothLeScanner;
private final Object mLock = new Object();
private Handler mBackgroundHandler;
private Handler getBackgroundHandler() {
if (mBackgroundHandler == null) {
HandlerThread …
Run Code Online (Sandbox Code Playgroud) android background bluetooth bluetooth-lowenergy android-workmanager