可能重复:
android:检查服务是否正在运行
我有一项服务可以执行我的操作,它将无限期地在后台运行。我想监视服务是否正在运行。所以,我想创建另一个服务来监控第一个。
是否有任何其他动作过滤器来广播,服务运行与否?
可能重复:
android:检查服务是否正在运行
我有一项服务可以执行我的操作,它将无限期地在后台运行。我想监视服务是否正在运行。所以,我想创建另一个服务来监控第一个。
是否有任何其他动作过滤器来广播,服务运行与否?
你可以getRunningServices(int max)
使用ActivityManager
ActivityManager actManager = // 获取活动管理器
int max = ??;
List<ActivityManager.RunningServiceInfo> runningServices = actManager.getRunningServices(max);
for(ActivityManager.RunningServiceInfo runningService : runningServices)
{
boolean started = runningService.started;
}
注意:此方法仅用于调试或实现服务管理类型的用户界面。
Presumably, it is calling getRunningServices() on ActivityManager. There is no documented Intent to go straight to that screen.
第 1 步。首先,您需要声明和初始化一些变量:-
private static final String APP_DETAILS_PACKAGE_NAME = “com.android.settings”; // Here you need to define the package name
private static final String SCREEN_CLASS_NAME = “com.android.settings.RunningServices”; // Here you need to define the class name but NOTICE!! you need to define its full name including package name.
步骤 2. 实例化一个 Intent
Intent intent = new Intent();
步骤 3. 将操作设置为 ACTION_VIEW
intent.setAction(Intent.ACTION_VIEW);
步骤 3. 在 Intent 中设置类名,因为我们知道包可以有多个活动。所以 Intent 需要一些东西来匹配包名中的 Activity。
intent.setClassName(APP_DETAILS_PACKAGE_NAME, SCREEN_CLASS_NAME);
步骤 4. 开始活动
context.startActivity(intent);
在上面的示例中,如果您想访问一些不同的屏幕,然后根据您的需要更改 APP_DETAILS_PACKAGE_NAME 和 SCREEN_CLASS_NAME。