为应用程序创建android Lockscreen小部件/通知

时间:2015-09-16 04:54:31

标签: android lockscreen

我见过很多应用程序这样做。想到Lux,还有音乐播放器应用程序和其他应用程序。他们在锁屏上显示一条通知,该通知具有您可以与之交互的功能。我读过锁屏小部件已经在5.0+上删除了,但我仍然看到这些应用程序创建了这些锁屏功能。

我是Android开发的新手,所以也许我对术语感到困惑。我在哪里可以找到有关如何创建此类锁屏功能的信息。

1 个答案:

答案 0 :(得分:1)

HI自ICS以来,可以使用Android的RemoteControlClient部分来完成 这部分代码是拦截媒体控件。

@TargetApi(Build.VERSION_CODES.ICE_CREAM_SANDWICH)
public void setUpRemoteControlClient() {
Context context = VLCApplication.getAppContext();
AudioManager audioManager = AudioManager)context.getSystemService(AUDIO_SERVICE);
if(Util.isICSOrLater()) {    audioManager.registerMediaButtonEventReceiver(mRemoteControlClientReceiverComponent);
    if (mRemoteControlClient == null) {
        Intent mediaButtonIntent = new Intent(Intent.ACTION_MEDIA_BUTTON);
      mediaButtonIntent.setComponent(mRemoteControlClientReceiverComponent);
        PendingIntent mediaPendingIntent = PendingIntent.getBroadcast(context, 0, mediaButtonIntent, 0);
        // create and register the remote control client
        mRemoteControlClient = new RemoteControlClient(mediaPendingIntent);
        audioManager.registerRemoteControlClient(mRemoteControlClient);
    }
    mRemoteControlClient.setTransportControlFlags(
            RemoteControlClient.FLAG_KEY_MEDIA_PLAY |
            RemoteControlClient.FLAG_KEY_MEDIA_PAUSE |
            RemoteControlClient.FLAG_KEY_MEDIA_PREVIOUS |
            RemoteControlClient.FLAG_KEY_MEDIA_NEXT |
            RemoteControlClient.FLAG_KEY_MEDIA_STOP);
} else if (Util.isFroyoOrLater()) {
    audioManager.registerMediaButtonEventReceiver(mRemoteControlClientReceiverComponent);
}

}