小编Bam*_*Bam的帖子

应用程序关闭时Android服务停止

我从我的主要Android活动开始提供服务,如下所示:

final Context context = base.getApplicationContext();
final Intent intent = new Intent(context, MyService.class);
startService(intent);
Run Code Online (Sandbox Code Playgroud)

当我通过从最近的应用程序列表中滑出来关闭活动页面时,服务会停止运行并在一段时间后重新启动.由于我的应用程序要求,我无法将持久服务与通知一起使用.如何使服务不重启或关闭,并继续在应用程序退出运行?

service android shutdown restart android-activity

70
推荐指数
6
解决办法
9万
查看次数

送货回执请求不适用于XMPP Android(aSmack)

我正在使用OpenFire和aSmack.

我似乎无法让DeliveryReceipts工作.

我创建连接时执行以下操作:

//create connection
connection.login(username, password);
DeliveryReceiptManager.getInstanceFor(connection).enableAutoReceipts();
DeliveryReceiptManager.getInstanceFor(connection).addReceiptReceivedListener(new ReceiptReceivedListener()
{
        @Override
        public void onReceiptReceived(String arg0, String arg1, String arg2)
        {
            Log.v("app", arg0 + ", " + arg1 + ", " + arg2);
        }
});
Run Code Online (Sandbox Code Playgroud)

我正在使用以下方法向其他用户发送消息:

//send chat
Message msg = new Message(id, Message.Type.chat);
msg.setBody(chat);
DeliveryReceiptManager.addDeliveryReceiptRequest(msg);
connection.sendPacket(msg);
Run Code Online (Sandbox Code Playgroud)

尽管邮件与ReceiptRequest一起发送,但上述操作仍无效.尽管接收者收到消息,但听众不会在发送者端被解雇.(我通过调试确认它确实将DeliveryReceiptRequest确实附加到发送的消息上).

我还尝试使用(MessageTypeFilter(Message.Type.chat))在PacketListener中使用以下内容手动发送回收据:

Packet received = new Message();
received.addExtension(new DeliveryReceipt(packet.getPacketID()));
received.setTo(packet.getFrom());
getConnection().sendPacket(received);
Run Code Online (Sandbox Code Playgroud)

尽管如此,接收端的客户端仍然收到消息,但是监听器不会在发送者的系统中被解雇.我缺少什么?

android chat xmpp asmack

4
推荐指数
1
解决办法
5994
查看次数

标签 统计

android ×2

android-activity ×1

asmack ×1

chat ×1

restart ×1

service ×1

shutdown ×1

xmpp ×1