Android Nougat,Oreo - 如何将长按动作添加到快速切换?

Posted

技术标签:

【中文标题】Android Nougat,Oreo - 如何将长按动作添加到快速切换?【英文标题】:Android Nougat, Oreo - How to add long press action to Quick toggles? 【发布时间】:2018-02-09 15:26:24 【问题描述】:

对于我正在开发的应用,我需要一些帮助。我正在使用的当前代码,长按它会启动应用程序信息。我想更改它以启动我的应用的活动。

Quick.java 类。

@TargetApi(24)
public class Quick extends TileService 

    @Override
    public void onDestroy() 
        super.onDestroy();
    

    @Override
    public void onTileAdded() 
        super.onTileAdded();
    

    @Override
    public void onTileRemoved() 
        super.onTileRemoved();
    

    @Override
    public void onStartListening() 
        super.onStartListening();
    

    @Override
    public void onStopListening() 
        super.onStopListening();
    

    @Override
    public void onClick() 
        super.onClick();
        startActivity(Main);
    

只需要在此代码上使用onLongClick() 方法。

在我的 <application> 标签下的清单中。

        <service
            android:name=".Quick"
            android:icon="@drawable/ic_quick"
            android:label="@string/quick_title"
            android:permission="android.permission.BIND_QUICK_SETTINGS_TILE">
            <intent-filter>
                <action android:name="android.service.quicksettings.action.QS_TILE" />
            </intent-filter>
        </service>

注意:在 android N 和 O 中是 100% 可以做到这一点的,例如看看 this app

【问题讨论】:

您是否正在寻找应用程序快捷方式然后点击链接***.com/a/48594233/9287163 如果您想创建类似快速设置的磁贴服务,请点击此链接learn2crack.com/2017/02/android-using-quick-settings-tiles.html 好吧,我知道如何创建磁贴以及如何设置活动 onClick,我想你没有正确阅读我的问题,我想在快速磁贴上添加一个长点击监听器。这次你收到了吗? 【参考方案1】:

好的,我明白了,您可以实现长点击列表器,但这是一个问题 默认情况下,长按您的快速设置磁贴将转到您应用的信息屏幕。您可以通过向其中一个活动添加意图过滤器来覆盖该行为,如下所示:

<intent-filter> <action android:name="android.service.quicksettings.action.QS_TILE_PREFERENCES"/> </intent-filter>

正如您在清单文件中所做的那样,一个可能有帮助的链接非常仔细地查看long press quick setting tile in android

【讨论】:

以上是关于Android Nougat,Oreo - 如何将长按动作添加到快速切换?的主要内容,如果未能解决你的问题,请参考以下文章

Android 版本API对应表

Android 版本API对应表

Android 版本API对应表

Android各版本的SDK Platforms和API Level

Android各版本对应的SDK及JDK版本要求

Android各版本对应的SDK及JDK版本要求