我有一个运行服务的功能:
public ArrayList<String> getRunningServices() {
ActivityManager activityMg = (ActivityManager)context.getSystemService(context.ACTIVITY_SERVICE);
List<ActivityManager.RunningServiceInfo> serviceList = activityMg.getRunningServices(100);
ArrayList<String> serviceName = new ArrayList<String>();
for (int i=0; i<serviceList.size(); i++) {
ActivityManager.RunningServiceInfo currentService = serviceList.get(i);
boolean serviceNam = currentService.started;
if (serviceNam == true) {
serviceName.add(currentService.service.getPackageName());
}
}
return serviceName;
}
现在我想在这些服务停止时运行其中一个服务。
要运行已安装的应用,我必须像这段代码一样使用意图:
Intent intent = context.getPackageManager().getLaunchIntentForPackage(nameOfPakage);
context.startActivity(intent);
但是我想要运行这个应用程序或另一个应用程序的服务。
我有一个应用程序包的String名称,我想开始它的服务。
有可能吗?
答案 0 :(得分:0)
您好,以下是从其他应用程序启动服务。
Intent intent = new Intent();
String pkg = currentService.service.getPackageName();
String cls = currentService.service.getPackageName() + "." + currentService.service.getClassName();
intent.setComponent(new ComponentName(pkg, cls));
startService(intent);