zoukankan      html  css  js  c++  java
  • 生成桌面插件

    package org.app.qqmusicplayer;
    
    import android.app.PendingIntent;
    import android.appwidget.AppWidgetManager;
    import android.appwidget.AppWidgetProvider;
    import android.content.ComponentName;
    import android.content.Context;
    import android.content.Intent;
    import android.util.Log;
    import android.widget.RemoteViews;
    
    public class AppWidget extends AppWidgetProvider {
        private static final String PLAY_ACTION = "com.app.playmusic";
        private static final String NEXT_ACTION = "com.app.nextone";
        private static final String lAST_ACTION = "com.app.lastone";
        private static final String START_APP = "com.app.startapp";
        @Override
        public void onDeleted(Context context, int[] appWidgetIds) {
            Log.i("info", "onDeleted...");
            super.onDeleted(context, appWidgetIds);
        }
    
        @Override
        public void onDisabled(Context context) {
            Log.i("info", "onDisabled...");
            super.onDisabled(context);
        }
    
        @Override
        public void onEnabled(Context context) {
            Log.i("info", "onEnabled...");
            super.onEnabled(context);
        }
    
        @Override
        public void onReceive(Context context, Intent intent) {
            RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.appwidgetlayout);
            if (intent.getAction().equals("com.app.pause")){
                views.setImageViewResource(R.id.playButton, R.drawable.play_button);
            } else if (intent.getAction().equals("com.app.play")){
                views.setImageViewResource(R.id.playButton, R.drawable.pause_button);
            } else if (intent.getAction().equals("com.app.musictitle")){
                String musicName = intent.getExtras().getString("title");
                if (musicName.length()>6){
                    musicName = musicName.substring(0, 5)+"...";
                }
                views.setTextViewText(R.id.title, musicName);
            }
            AppWidgetManager appWidgetManager = AppWidgetManager.getInstance(context); 
            ComponentName componentName = new ComponentName(context,AppWidget.class); 
            appWidgetManager.updateAppWidget(componentName, views);
            Log.i("info", "onReceive...");
            super.onReceive(context, intent);
        }
    
        @Override
        public void onUpdate(Context context, AppWidgetManager appWidgetManager,
                int[] appWidgetIds) {
            Log.i("info", "onUpdate...");
            RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.appwidgetlayout);
            /**设置播放键的动作*/
            views.setImageViewResource(R.id.playButton, R.drawable.play_button);
            Intent playIntent = new Intent(PLAY_ACTION);
            PendingIntent playPending = PendingIntent.getBroadcast(context, 0, playIntent, 0);
            views.setOnClickPendingIntent(R.id.playButton, playPending);
            /**设置上一首按钮的动作*/
            Intent lastIntent = new Intent(lAST_ACTION);
            PendingIntent lastPending = PendingIntent.getBroadcast(context, 0, lastIntent, 0);
            views.setOnClickPendingIntent(R.id.lastButton, lastPending);
            /**设置下一首按钮的动作*/
            Intent nextIntent = new Intent(NEXT_ACTION);
            PendingIntent nextPending = PendingIntent.getBroadcast(context, 0, nextIntent, 0);
            views.setOnClickPendingIntent(R.id.nextButton, nextPending);
            
            /**获取正在播放的音乐名*/
            Intent intent = new Intent();
            intent.setAction(START_APP);
            context.sendBroadcast(intent);
            
            appWidgetManager.updateAppWidget(appWidgetIds, views);
        }
    
    }
  • 相关阅读:
    Java实现 LeetCode 30 串联所有单词的子串
    Java实现 LeetCode 29 两数相除
    Java实现 LeetCode 29 两数相除
    Java实现 LeetCode 29 两数相除
    Java实现 LeetCode 28 实现strStr()
    Java实现 LeetCode 28 实现strStr()
    Java实现 LeetCode 28 实现strStr()
    Java实现 LeetCode 27 移除元素
    Java实现 LeetCode 27 移除元素
    字符编码终极笔记:ASCII、Unicode、UTF-8、UTF-16、UCS、BOM、Endian
  • 原文地址:https://www.cnblogs.com/ct732003684/p/2853371.html
Copyright © 2011-2022 走看看