在安卓系统中,长按快捷设置图块是什么意思?

6

我是新手安卓开发者,想制作一个瓷砖服务(tile service),但我遇到了重写默认长按动作的问题。

为此,我有一个名为QSTileService的类,它继承了TileService,我希望我的瓷砖根据单击或长按执行不同的操作。对于按钮,我找到的方法是实现OnLongClickListener接口,并在onLongClick方法中填入所需的内容,但是我不确定如何在快速设置瓷砖上实现这一点?

非常感谢您的帮助!


请按照Google Codelab教程学习Tile服务:https://codelabs.developers.google.com/codelabs/android-n-quick-settings/index.html?index=..%2F..%2Findex#0 - pRaNaY
我已经完成了教程,但我认为它没有解决如何修改默认的长按操作。我的瓷砖是一个计数器,我希望在轻击时增加计数并在长按时重置,但我一直没有找到改变长按行为以进行重置的方法,它总是跳转到应用程序设置页面。 - mk360
1个回答

15
根据文档,默认情况下,在快速设置瓷砖上长按将进入您的应用程序信息屏幕。您可以通过向其中一个活动添加intent-filter来覆盖该行为,例如:
<intent-filter>
    <action android:name="android.service.quicksettings.action.QS_TILE_PREFERENCES"/>
</intent-filter>

能否让长按瓷砖执行像广播一样的操作,我只需要创建一个广播接收器即可调用方法?我的目标是通过调用方法来重置计数器,而不是打开新的活动。 - mk360
我不确定你是否可以使用相同的意图过滤器发送广播或在后台启动服务。但是,你可以启动一个虚拟的透明活动(或作为对话框的活动),并在从onCreate方法中广播事件后立即finish()该活动。但是,这样会关闭快速设置面板。你需要再次拖动才能看到面板。 - Sandip Kothari

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接