API

Amarok 提供隐藏控制 API。您可以采用意图广播 (Intent Broadcast) 来触发隐藏。

Intent API Since v0.8.7a2

  • Package: (ApplicationID of Amarok)
  • Class: deltazero.amarok.receivers.ActionReceiver
  • Action:
    • deltazero.amarok.HIDE (hide)
    • deltazero.amarok.UNHIDE (unhide)

其中 Amarok 的包名是 deltazero.amarok(普通分发版本) 或 deltazefiro.amarok.foss(F-Droid 分发版本)。

WARNING

Amarok API 无法通过隐式意图(Implicit Intent)触发。请使用显式意图 (Explicit Intent) 广播,即您必须指定 Amarok 为此广播的接受者。详见 Android 开发者文档open in new window

您可以使用 ADB 或如 MacroDroid 之类的自动化工具广播意图以触发隐藏。下面是一些示例。

Shell (ADB)

# 隐藏内容
adb shell am broadcast -a deltazero.amarok.HIDE -n ${APP_ID}/deltazero.amarok.receivers.ActionReceiver
# 取消隐藏
adb shell am broadcast -a deltazero.amarok.UNHIDE -n ${APP_ID}/deltazero.amarok.receivers.ActionReceiver

其中 ${APP_ID} 是 Amarok 的包名。

MacroDroid

请参考 MacrodroidForumopen in new window

Tasker

{"target":"Broadcast Receiver","action":"deltazero.amarok.HIDE","package":"<APP_ID>","class":"deltazero.amarok.receivers.ActionReceiver"}

其中请把 <APP_ID> 替换为 Amarok 的包名。

请参考 joaoapps.comopen in new window 进行使用。

Java

您可以在您的应用程序中使用以下 Java 代码来触发隐藏。

Intent intent = new Intent("deltazero.amarok.HIDE");
intent.setClassName(amarokApplicationID, "deltazero.amarok.receivers.ActionReceiver");
sendBroadcast(intent);

其中 amarokApplicationID 是 Amarok 的包名。