常驻进程管理app(如何使用appwidget实现进程常驻)

本文目录
- 如何使用appwidget实现进程常驻
- 日程类管理APP的功能
- 软件管理软件哪个好
- 怎么一键关闭后台运行的app
- 华为手机怎样保持一个程序后台一直运行
- 什么软件可以管理安卓手机的进程与服务
- 如何关闭oppowatchapp后台管理进程
- Android 使用MarsDaemon进程常驻
如何使用appwidget实现进程常驻
本篇打算从以下几个点来介绍AppWidget:
1.如何创建一个简单的AppWidget
2.如何使得AppWidget与客户端程序交互
创建简单的AppWidget
在介绍之前给大家看一下程序运行的最后结果和项目结构图,以便大家有个整体的印象。
运行结果图:
项目结构图:
第一步:
首先在res文件夹下新建一个名字为xml的文件夹,然后在xml目录下创建一个名为appwidget01的xml文件(如上图所示)。这个appwidget01中的内容如下:
《?xml version="1.0" encoding="utf-8"?》
《appwidget-provider
***隐藏网址***
android:minWidth = "294dp"
android:minHeight = "72dp"
android:updatePeriodMillis = "86400000"
android:initialLayout = "@layout/appwidgetlayout"
》
《/appwidget-provider》
这个xml是用来描述你所要创建的appWidget的一些描述信息的,比如高度、宽度、刷新间隔、布局文件等等。仅仅这个描述文件还不够,我们看到的appWidget可都是有界面元素的呀,比如说文本,图片,按钮等等,这些东西的定义都需要放到layout文件夹下面。这个文件就是上面代码中写到的那个appwidgetlayout。
第二步:
在layout文件夹下面新建一个appwidgetlayout.xml文件,在这个文件中描述了appWidget的控件和布局等等信息,就和我们平常创建的一个activity的布局文件没什么两样,因为只是简单的演示,所以仅用一个文本和一个按钮。xml的内容如下:
《?xml version="1.0" encoding="utf-8"?》
***隐藏网址***
android:layout_width="fill_parent" android:layout_height="fill_parent"》
《TextView android:id="@+id/txtapp" android:text="test" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:background="#ffffff"》《/TextView》
《Button android:id="@+id/btnSend" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:text="Send"》《/Button》
《/LinearLayout》
第三步:
既然appWidget中存在按钮等等控件,那么就肯定少不了处理这些控件事件的处理代码啦。这些代码被放在一个继承于AppWidgetProvider的类中,在本例子中我新建了一个AppWidget的类,该类继承于AppWidgetProvider,以后所有的AppWidget上面的控件事件都会在这个类中处理。看一下类的内容:
public class AppWidget extends AppWidgetProvider
{
private final String broadCastString = "com.qlf.appWidgetUpdate";
/**
* 删除一个AppWidget时调用
* */
@Override
public void onDeleted(Context context, int appWidgetIds)
{
super.onDeleted(context, appWidgetIds);
}
/**
* 最后一个appWidget被删除时调用
* */
@Override
public void onDisabled(Context context)
{
super.onDisabled(context);
}
/**
* AppWidget的实例第一次被创建时调用
* */
@Override
public void onEnabled(Context context)
{
super.onEnabled(context);
}
/**
* 接受广播事件
* */
@Override
public void onReceive(Context context, Intent intent)
{
super.onReceive(context, intent);
}
/**
* 到达指定的更新时间或者当用户向桌面添加AppWidget时被调用
* */
@Override
public void onUpdate(Context context, AppWidgetManager appWidgetManager,
int appWidgetIds)
{
}
}
各个方法的作用大家一看上面的注释就明白了。我们暂时不需要实现里面的方法。
第四步:
在AndroidManifest.xml中定义一些创建AppWidget必要的东西,先看代码:
《?xml version="1.0" encoding="utf-8"?》
***隐藏网址***
package="com.qlf.widget" android:versionCode="1" android:versionName="1.0"》
《application android:icon="@drawable/icon" android:label="@string/app_name"》
《activity android:name=".MainActivity" android:label="@string/app_name"》
《intent-filter》
《action android:name="android.intent.action.MAIN" /》
《category android:name="android.intent.category.LAUNCHER" /》
《/intent-filter》
《/activity》
《receiver android:name="AppWidget"》
《intent-filter》
《action android:name="android.appwidget.action.APPWIDGET_UPDATE"》《/action》
《/intent-filter》
《meta-data android:name="android.appwidget.provider"
android:resource="@xml/appwidget01" /》
《/receiver》
《/application》
《uses-sdk android:minSdkVersion="8" /》
《/manifest》
可以看到我们在配置文件里面定义了一个receiver,他的名字是上面创建处理控件代码的那个类,下面那个intent-filter中的action是系统自带的用于更新所有appwidget的广播动作。然后meta-data标签是一个描述我们创建appwidget的元数据,那个android:name="android.appwidget.provider"是固定的,android:resource="@xml/appwidget01"指定创建的appWidget的描述信息的位置。这样程序就知道到哪里去初始化这些appWidget啦。
经过上面四个步骤,我想您已经能够成功在桌面上添加小工具了,效果就是我们最前面发出的样子。
日程类管理APP的功能
日程类管理APP的功能如下:
1、制定行程:这一款手机应用端根据时间为用户提供了行程制定表,而用户可以线上一键进行制定,既方便又便捷,快速的安排好自己的行程。
2、行程提醒:在出发之前,用户可以对某一个行程设置提醒。而到一定时间后,平台会立即提醒用户,让用户不错过每一个行程。
3、查看行程:为了提高用户的工作效率,用户可以线上查看个人行程。这样不仅可以避免错失办事时间,同时也能够让用户可以办好所有的行程事物,给用户的生活、工作增添一抹乐趣。
4、权限设置:在这里,用户可以对好友、家人、上司等设置为可观看人数,而亲朋好友等人可以线上快速的查看行程,并且了解用户的所在位置,大大的提高用户的使用体验。
5、一键分享:日程管理APP软件与各大社交平台合作,比如微信、QQ、微博、论坛等等,用户可以一键上传自己的行程,让好友可以了解到你当前的生活状态,从而进行行程规划,促进双方的情感交流。
软件管理软件哪个好
对于"软件管理软件哪个好"这个问题感兴趣的朋友应该很多,这个也是目前大家比较关注的问题,那么下面小好小编就收集了一些"软件管理软件哪个好"相关软件,来分享给大家希望能够帮助到你哦。
1. 老板管理软件 软件类型:安卓APP
软件介绍:
日进斗金旧版管理系统是为老板店家塑造的店铺管理手机软件,订单详情、畅销商品、库存管理、工作人员销售业绩、店面排名、月利润表、会员管理等作用随你感受,信息数据信息即时把握,店铺管理更为高效率,实际操作简
2. 竞价管理软件 软件类型:电脑软件
软件介绍:
完全免费进程管理系统软件 Process Hacker是一款适用管理方法已经运作中的进程、服务项目、互联网应用情况的进程管理工具。
5. 石材管理软件 软件类型:电脑软件
软件介绍:
石料管理系统软件是一款依据中国石料商出示的产品盖里系统软件,此软件关键集消耗品管理方法.企业生产管理.入库管理方法.营销管理及其账务来往.日常管理方法与汇总统计等作用为一体,是公司客户的企业生产管理非
怎么一键关闭后台运行的app
1、首先在手机说面上找到设置点击进入“设置”。
2、在设置里面找到更多设置点击进入。
3、然后在更多设置里面找到“权限管理”进入下一步。
4、在权限管理界面找到靠右边的“权限”点击进入。找到靠右边的“权限”点击进入,在自动启动界面里面就可以清楚看到手机所有的软件在手机开机后的后台启动状态,点击自启动。
5、找到“关联启动”点击进入。
6、然后一键关闭相关软件后面的启动按钮就可以了。
华为手机怎样保持一个程序后台一直运行
华为手机想要保持一个程序后台一直运行的话建议开启后台保护,操作方法如下:
1、如果您的华为手机系统为EMUI 8.0及以上:进入手机管家》启动管理,找到对应的应用,关闭自动管理,在弹出的三个选项中,将允许后台活动的开关开启。图解如下:
2、如果您的华为手机系统为EMUI 8.0以下:进入手机管家界面,点击剩余xx%》锁屏清理应用,关闭需要在后台运行应用程序的开关。图解如下:
什么软件可以管理安卓手机的进程与服务
进程管理器是一款手机内存清理和进程管理的系统工具软件;它可以使你更加方便的切换和关闭正在运行的程序。
功能:
1.通知栏一键终止任务/进程;
2.忽略任务/进程设置;
3.任务/进程负载、内存、CPU等详细信息查看;
4.定时终止;
5.快捷启动/唤醒应用(可长按搜索按钮启动进程管理器);
6.Widget(小部件)一键终止进程;
7.支持大部分手机分辨率(eg:1024*600 and 960*600);
8.支持Android全平台 1.5/1.6/2.2/2.3/3.x/4.x。
如何关闭oppowatchapp后台管理进程
通过虚拟按键或导航手势,可以进入最近任务/多任务界面,查看或清除最近的浏览记录以及内存。
操作方法:1、ColorOS 7.2及以后版本:进入最近任务界面后,长按底部的清除按钮,会跳转到最近任务管理界面。
2、ColorOS 7.0及以后版本:最近任务点击应用右上角菜单图标“:”即可进行锁定、分屏、管理等操作。
最近任务界面显示运行内存信息设置方法:ColorOS 7及以后版本:进入「设置 》 桌面与锁屏(其他设置) 》 最近任务管理 》 最近任务显示内存信息」打开开关即可。
本回答适用于OPPO所有机型。
Android 使用MarsDaemon进程常驻
在特定的业务场景中,我们可能会需要app在后台做一些事情,比如上传数据之类的操作,并且希望这种操作及时在程序退出之后依然可以继续进行。因此也就理所当然的想到了使用Service进行处理。 但是 ,在特定条件(app进入后台+设备内存不足+进程占用的内存足够大)的情况下,Service会非常容易在几分钟内被系统干掉,因此提高Service的存活率至关重要。
此方法企图利用Service是生命周期去调用其本身,事实证明这种方法是无效的,在进程被杀死时,Service根本不会执行onDestroy就被直接清出内存了,因此靠自身的力量提高存活率的方式也就不可行了。
导入项目之后
之后不要忘记导入module
此处将process1作为主要进程,process2作为守护进程。MainService中执行主要的业务逻辑,Receiver1、GuardService、Receiver2都是额外创建的,里面不要做任何事情,都是空实现就好。
由于我们的Application一般都会集成其他的Application,因此需要在attachBaseContext中初始化DaemonClient,然后调用onAttachBaseContext即可实现
使用Marsdaemon提高Service存活率的方式虽然有一定效果,但是在Android5.0之后的版本中,并不可靠,并且还有如下几个缺陷。
因此,Marsdaemon不应是大家频繁使用的功能,特殊情况下可以应急即可。

更多文章:
androidapp源码免费下载(如何实现APK的反编译得到APK的源码)
2026年9月22日 18:00
service pack 3(操作系统版本升级(SP) Service Pack 3当中的“Service Pack 3”是什么意思)
2026年9月22日 10:20
html代码怎么写大佬教程(html网页的题来个大佬,写代码,题目在图上)
2026年9月22日 10:10
结构体内又一个struct(c++ 在结构体中再嵌入一个结构体如何调用)
2026年9月22日 09:40
cocos creator中文(cocoscreator和cocoscreator3d的区别)
2026年9月22日 02:30







