From 17daa94b94e323a9344bc7e171410422b56b72ec Mon Sep 17 00:00:00 2001 From: MUQING <1966944300@qq.com> Date: Thu, 28 Dec 2023 20:47:57 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E6=90=9C=E7=B4=A2=E4=BD=93?= =?UTF-8?q?=E9=AA=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/main/java/com/muqingbfq/MediaPlayer.java | 16 +++++++++++++++- .../main/java/com/muqingbfq/activity_search.java | 13 ++++++++++++- app/src/main/java/com/muqingbfq/bfqkz.java | 15 ++------------- .../muqingbfq/mq/NotificationManagerCompat.java | 14 +++----------- 4 files changed, 32 insertions(+), 26 deletions(-) diff --git a/app/src/main/java/com/muqingbfq/MediaPlayer.java b/app/src/main/java/com/muqingbfq/MediaPlayer.java index 38a0eb2..2cb66e7 100644 --- a/app/src/main/java/com/muqingbfq/MediaPlayer.java +++ b/app/src/main/java/com/muqingbfq/MediaPlayer.java @@ -106,7 +106,21 @@ public class MediaPlayer extends android.media.MediaPlayer { } // 在这里将进度更新到UI上 }); - wj.setMP3ToFile(bfqkz.xm); + new Thread(){ + @Override + public void run() { + super.run(); + if (bfqkz.lishi_list.size() >= 100) { + bfqkz.lishi_list.remove(0); + } + bfqkz.lishi_list.remove(bfqkz.xm); + if (!bfqkz.lishi_list.contains(bfqkz.xm)) { + bfqkz.lishi_list.add(0, bfqkz.xm); + wj.xrwb(wj.gd + "mp3_hc.json", new com.google.gson.Gson().toJson(bfqkz.lishi_list)); + } + wj.setMP3ToFile(bfqkz.xm); + } + }.start(); } public void DataSource(String path) throws Exception { diff --git a/app/src/main/java/com/muqingbfq/activity_search.java b/app/src/main/java/com/muqingbfq/activity_search.java index 997944d..7ba8561 100644 --- a/app/src/main/java/com/muqingbfq/activity_search.java +++ b/app/src/main/java/com/muqingbfq/activity_search.java @@ -1,6 +1,7 @@ package com.muqingbfq; import android.annotation.SuppressLint; +import android.content.Context; import android.os.Bundle; import android.text.Editable; import android.text.TextUtils; @@ -114,7 +115,7 @@ public class activity_search extends FragmentActivity { @Override public void onTextChanged(CharSequence s, int start, int before, int count) { if (TextUtils.isEmpty(s)) { - dismiss(); + listPopupWindow.setVisibility(View.GONE); return; } list.clear(); @@ -148,10 +149,20 @@ public class activity_search extends FragmentActivity { public void afterTextChanged(Editable s) { } }); + + inflate.editview.requestFocus();//获取焦点 + InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); + //if (!imm.isActive()) //没有显示键盘,弹出 + imm.showSoftInput(inflate.editview, 0); } public void dismiss() { + inflate.editview.clearFocus(); listPopupWindow.setVisibility(View.GONE); + InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); + if (imm.isActive()) //有显示键盘,隐藏 + imm.hideSoftInputFromWindow(inflate.editview.getWindowToken(), + InputMethodManager.HIDE_NOT_ALWAYS); } private void addSearchRecord(String name) { diff --git a/app/src/main/java/com/muqingbfq/bfqkz.java b/app/src/main/java/com/muqingbfq/bfqkz.java index ad2e79a..f343f6f 100644 --- a/app/src/main/java/com/muqingbfq/bfqkz.java +++ b/app/src/main/java/com/muqingbfq/bfqkz.java @@ -55,9 +55,6 @@ public class bfqkz extends MediaBrowserServiceCompat { try { if (TextUtils.isEmpty(id)) { //针对错误进行相应的处理 - if (bfqkz.list.size() < 1) { - return; - } bfqkz.list.remove(bfqkz.xm); bfq_an.xyq(); return; @@ -65,14 +62,6 @@ public class bfqkz extends MediaBrowserServiceCompat { if (TextUtils.isEmpty(xm.picurl)) { xm.picurl = url.picurl(xm.id); } - if (bfqkz.lishi_list.size() >= 100) { - bfqkz.lishi_list.remove(0); - } - bfqkz.lishi_list.remove(bfqkz.xm); - if (!bfqkz.lishi_list.contains(bfqkz.xm)) { - bfqkz.lishi_list.add(0, bfqkz.xm); - wj.xrwb(wj.gd + "mp3_hc.json", new com.google.gson.Gson().toJson(bfqkz.lishi_list)); - } mt.setDataSource(id); } catch (Exception e) { yc.start(home.appCompatActivity, "bfqkz mp3(" + id + ") :" + e); @@ -97,7 +86,7 @@ public class bfqkz extends MediaBrowserServiceCompat { public static MediaSessionCompat mSession; public static PlaybackStateCompat playback; - + public PendingIntent pendingIntent; @Override public void onCreate() { super.onCreate(); @@ -112,7 +101,7 @@ public class bfqkz extends MediaBrowserServiceCompat { intent.setComponent(new ComponentName(this, home.class));//用ComponentName得到class对象 intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED);// 关键的一步,设置启动模式,两种情况 - PendingIntent pendingIntent = com.muqingbfq.mq.NotificationManagerCompat.getActivity(this, intent); + pendingIntent = com.muqingbfq.mq.NotificationManagerCompat.getActivity(this, intent); mSession = new MediaSessionCompat(this, "MusicService", home.componentName, pendingIntent); mSession.setCallback(new callback()); diff --git a/app/src/main/java/com/muqingbfq/mq/NotificationManagerCompat.java b/app/src/main/java/com/muqingbfq/mq/NotificationManagerCompat.java index 9fa3870..3efd72d 100644 --- a/app/src/main/java/com/muqingbfq/mq/NotificationManagerCompat.java +++ b/app/src/main/java/com/muqingbfq/mq/NotificationManagerCompat.java @@ -24,12 +24,12 @@ import com.muqingbfq.home; import com.muqingbfq.yc; public class NotificationManagerCompat { - MediaBrowserServiceCompat context; + bfqkz context; public NotificationCompat.Builder notificationBuilder; public androidx.core.app.NotificationManagerCompat notificationManager; private String name, zz; - public NotificationManagerCompat(MediaBrowserServiceCompat context) { + public NotificationManagerCompat(bfqkz context) { this.context = context; name = context.getString(R.string.app_name); zz = context.getString(R.string.zz); @@ -47,12 +47,6 @@ public class NotificationManagerCompat { // 适配12.0及以上 // 设置启动的程序,如果存在则找出,否则新的启动 - Intent intent = new Intent(Intent.ACTION_MAIN); - intent.addCategory(Intent.CATEGORY_LAUNCHER); - intent.setComponent(new ComponentName(context, home.class));//用ComponentName得到class对象 - intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK - | Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED);// 关键的一步,设置启动模式,两种情况 - pendingIntent = getActivity(context, intent); Intent my = new Intent(context, MyButtonClickReceiver.class); pendingIntent_kg = getBroadcast(context, my. setAction("kg")); @@ -70,15 +64,13 @@ public class NotificationManagerCompat { .setPriority(NotificationCompat.PRIORITY_LOW) .setOngoing(true).setAutoCancel(false).setOnlyAlertOnce(true) .setVisibility(NotificationCompat.VISIBILITY_PUBLIC) - .setContentIntent(pendingIntent) + .setContentIntent(context.pendingIntent) .setStyle(style); tzl(); } catch (Exception e) { yc.start(context, e); } } - - PendingIntent pendingIntent; androidx.media.app.NotificationCompat.MediaStyle style; @SuppressLint("RestrictedApi") public void tzl() {