添加绑定服务的APP的唤醒记录在部件的提示
This commit is contained in:
		@@ -1,8 +1,8 @@
 | 
				
			|||||||
#Created by .winboll/winboll_app_build.gradle
 | 
					#Created by .winboll/winboll_app_build.gradle
 | 
				
			||||||
#Wed Feb 19 19:57:10 HKT 2025
 | 
					#Thu Feb 20 03:19:54 GMT 2025
 | 
				
			||||||
stageCount=5
 | 
					stageCount=5
 | 
				
			||||||
libraryProject=libappbase
 | 
					libraryProject=libappbase
 | 
				
			||||||
baseVersion=1.5
 | 
					baseVersion=1.5
 | 
				
			||||||
publishVersion=1.5.4
 | 
					publishVersion=1.5.4
 | 
				
			||||||
buildCount=0
 | 
					buildCount=5
 | 
				
			||||||
baseBetaVersion=1.5.5
 | 
					baseBetaVersion=1.5.5
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -64,6 +64,8 @@
 | 
				
			|||||||
            android:exported="true">
 | 
					            android:exported="true">
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            <intent-filter>
 | 
					            <intent-filter>
 | 
				
			||||||
 | 
					                <action android:name="cc.winboll.studio.appbase.widgets.SOSWidget.ACTION_WAKEUP_SERVICE"/>
 | 
				
			||||||
 | 
					                <action android:name="cc.winboll.studio.appbase.widgets.SOSWidget.ACTION_RELOAD_REPORT"/>
 | 
				
			||||||
                <action android:name="android.appwidget.action.APPWIDGET_UPDATE"/>
 | 
					                <action android:name="android.appwidget.action.APPWIDGET_UPDATE"/>
 | 
				
			||||||
            </intent-filter>
 | 
					            </intent-filter>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -102,6 +102,7 @@ public class MainReceiver extends BroadcastReceiver {
 | 
				
			|||||||
                            appSOSReportBean.setSosReport(sbLine.toString());
 | 
					                            appSOSReportBean.setSosReport(sbLine.toString());
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                            SOSWidget.addAPPSOSReportBean(context, appSOSReportBean);
 | 
					                            SOSWidget.addAPPSOSReportBean(context, appSOSReportBean);
 | 
				
			||||||
 | 
					                            
 | 
				
			||||||
                            Intent intentWidget = new Intent(context, SOSWidget.class);
 | 
					                            Intent intentWidget = new Intent(context, SOSWidget.class);
 | 
				
			||||||
                            intentWidget.setAction(SOSWidget.ACTION_RELOAD_REPORT);
 | 
					                            intentWidget.setAction(SOSWidget.ACTION_RELOAD_REPORT);
 | 
				
			||||||
                            context.sendBroadcast(intentWidget);
 | 
					                            context.sendBroadcast(intentWidget);
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -210,6 +210,12 @@ public class MainService extends Service {
 | 
				
			|||||||
        intentService.setComponent(new ComponentName(bean.getSosPackage(), bean.getSosClassName()));
 | 
					        intentService.setComponent(new ComponentName(bean.getSosPackage(), bean.getSosClassName()));
 | 
				
			||||||
        bindService(intentService, sosConnection, Context.BIND_IMPORTANT);
 | 
					        bindService(intentService, sosConnection, Context.BIND_IMPORTANT);
 | 
				
			||||||
        mSOSConnectionList.add(sosConnection);
 | 
					        mSOSConnectionList.add(sosConnection);
 | 
				
			||||||
 | 
					        
 | 
				
			||||||
 | 
					        Intent intentWidget = new Intent(this, SOSWidget.class);
 | 
				
			||||||
 | 
					        intentWidget.setAction(SOSWidget.ACTION_WAKEUP_SERVICE);
 | 
				
			||||||
 | 
					        APPSOSBean appSOSBean = new APPSOSBean(bean.getSosPackage(), bean.getSosClassName());
 | 
				
			||||||
 | 
					        intentWidget.putExtra("APPSOSBean", appSOSBean.toString());
 | 
				
			||||||
 | 
					        sendBroadcast(intentWidget);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    public class SOSConnection implements ServiceConnection {
 | 
					    public class SOSConnection implements ServiceConnection {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,3 +0,0 @@
 | 
				
			|||||||
package cc.winboll.studio.appbase.services;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
@@ -25,7 +25,7 @@ public class SOSWidget extends AppWidgetProvider {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    public static final String TAG = "SOSWidget";
 | 
					    public static final String TAG = "SOSWidget";
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
    public static final String ACTION_SOS = "cc.winboll.studio.appbase.widgets.SOSWidget.ACTION_SOS";
 | 
					    public static final String ACTION_WAKEUP_SERVICE = "cc.winboll.studio.appbase.widgets.SOSWidget.ACTION_WAKEUP_SERVICE";
 | 
				
			||||||
    public static final String ACTION_RELOAD_REPORT = "cc.winboll.studio.appbase.widgets.SOSWidget.ACTION_RELOAD_REPORT";
 | 
					    public static final String ACTION_RELOAD_REPORT = "cc.winboll.studio.appbase.widgets.SOSWidget.ACTION_RELOAD_REPORT";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -53,6 +53,44 @@ public class SOSWidget extends AppWidgetProvider {
 | 
				
			|||||||
            for (int appWidgetId : appWidgetIds) {
 | 
					            for (int appWidgetId : appWidgetIds) {
 | 
				
			||||||
                updateAppWidget(context, appWidgetManager, appWidgetId);
 | 
					                updateAppWidget(context, appWidgetManager, appWidgetId);
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
 | 
					        }else if (intent.getAction().equals(ACTION_WAKEUP_SERVICE)) {
 | 
				
			||||||
 | 
					            LogUtils.d(TAG, "ACTION_WAKEUP_SERVICE");
 | 
				
			||||||
 | 
					            String szAPPSOSBean = intent.getStringExtra("APPSOSBean");
 | 
				
			||||||
 | 
					            LogUtils.d(TAG, String.format("szAPPSOSBean %s", szAPPSOSBean));
 | 
				
			||||||
 | 
					            if (szAPPSOSBean != null && !szAPPSOSBean.equals("")) {
 | 
				
			||||||
 | 
					                try {
 | 
				
			||||||
 | 
					                    APPSOSBean bean = APPSOSBean.parseStringToBean(szAPPSOSBean, APPSOSBean.class);
 | 
				
			||||||
 | 
					                    if (bean != null) {
 | 
				
			||||||
 | 
					                        String sosPackage = bean.getSosPackage();
 | 
				
			||||||
 | 
					                        LogUtils.d(TAG, String.format("sosPackage %s", sosPackage));
 | 
				
			||||||
 | 
					                        String sosClassName = bean.getSosClassName();
 | 
				
			||||||
 | 
					                        LogUtils.d(TAG, String.format("sosClassName %s", sosClassName));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                        
 | 
				
			||||||
 | 
					                        String appName = AppUtils.getAppNameByPackageName(context, sosPackage);
 | 
				
			||||||
 | 
					                        LogUtils.d(TAG, String.format("appName %s", appName));
 | 
				
			||||||
 | 
					                        SOSReportBean appSOSReportBean = new SOSReportBean(appName);
 | 
				
			||||||
 | 
					                        SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss");
 | 
				
			||||||
 | 
					                        String currentTime = sdf.format(new Date());
 | 
				
			||||||
 | 
					                        StringBuilder sbLine = new StringBuilder();
 | 
				
			||||||
 | 
					                        sbLine.append("[");
 | 
				
			||||||
 | 
					                        sbLine.append(currentTime);
 | 
				
			||||||
 | 
					                        sbLine.append("] Wake up ");
 | 
				
			||||||
 | 
					                        sbLine.append(appName);
 | 
				
			||||||
 | 
					                        appSOSReportBean.setSosReport(sbLine.toString());
 | 
				
			||||||
 | 
					                        
 | 
				
			||||||
 | 
					                        addAPPSOSReportBean(context, appSOSReportBean);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                        AppWidgetManager appWidgetManager = AppWidgetManager.getInstance(context);
 | 
				
			||||||
 | 
					                        int[] appWidgetIds = appWidgetManager.getAppWidgetIds(new ComponentName(context, SOSWidget.class));
 | 
				
			||||||
 | 
					                        for (int appWidgetId : appWidgetIds) {
 | 
				
			||||||
 | 
					                            updateAppWidget(context, appWidgetManager, appWidgetId);
 | 
				
			||||||
 | 
					                        }
 | 
				
			||||||
 | 
					                    }
 | 
				
			||||||
 | 
					                } catch (IOException e) {
 | 
				
			||||||
 | 
					                    LogUtils.d(TAG, e, Thread.currentThread().getStackTrace());
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,8 +1,8 @@
 | 
				
			|||||||
#Created by .winboll/winboll_app_build.gradle
 | 
					#Created by .winboll/winboll_app_build.gradle
 | 
				
			||||||
#Wed Feb 19 19:57:00 HKT 2025
 | 
					#Thu Feb 20 03:19:54 GMT 2025
 | 
				
			||||||
stageCount=5
 | 
					stageCount=5
 | 
				
			||||||
libraryProject=libappbase
 | 
					libraryProject=libappbase
 | 
				
			||||||
baseVersion=1.5
 | 
					baseVersion=1.5
 | 
				
			||||||
publishVersion=1.5.4
 | 
					publishVersion=1.5.4
 | 
				
			||||||
buildCount=0
 | 
					buildCount=5
 | 
				
			||||||
baseBetaVersion=1.5.5
 | 
					baseBetaVersion=1.5.5
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user