添加绑定服务的APP的唤醒记录在部件的提示
This commit is contained in:
parent
56187b588f
commit
0312ca50d2
@ -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
|
||||||
|
Loading…
x
Reference in New Issue
Block a user