如何在通知面板上添加开关

时间:2018-02-07 07:13:28

标签: android

我找不到如何在通知面板中添加按钮/开关。 我看到Spotify添加了一个在在线和离线模式之间切换,所以我想这是可能的。

由于

Screenshot of notification pannel

1 个答案:

答案 0 :(得分:1)

此功能出现在Android 7.0(API级别24+)中。 要创建自己的快速设置磁贴,您需要创建扩展]类的Java类,并在TileService中使用权限AndroidManifest.xml声明它。

<强> MyTileService.class

android.permission.BIND_QUICK_SETTINGS_TILE

<强>的AndroidManifest.xml

public class MyTileService extends TileService {

    private static final String TAG = "MyTileService";

    @Override
    public void onCreate() {
        Log.d(TAG, "onCreate()");
    }

    @Override
    public void onTileAdded() {
        Log.d(TAG, "onTileAdded()");
    }

    @Override
    public void onTileRemoved() {
        Log.d(TAG, "onTileRemoved()");
    }

    @Override
    public void onStartListening() {
        Log.d(TAG, "onStartListening()");
    }

    @Override
    public void onStopListening() {
        Log.d(TAG, "onStopListening()");
    }

    @Override
    public void onClick() {
        Log.d(TAG, "onClick()");
    }
}

您可以在基类中的每个方法的注释中阅读... <service android:name=".MyTileService" android:icon="@drawable/ic_tray" android:label="@string/app_name" android:permission="android.permission.BIND_QUICK_SETTINGS_TILE"> <intent-filter> <action android:name="android.service.quicksettings.action.QS_TILE" /> </intent-filter> </service> ... 类的回调或here