赞
踩
代码是添加在 ActivityManagerService 的 dump 方法里面 ,
启动的这个服务是 系统的一个服务。
@Override public void dump(FileDescriptor fd, PrintWriter pw, String[] args, boolean asProto) { if(args.length>=1 && args[0].equals("startService01")){ Intent intent = new Intent(); intent.setClassName("com.android.phone","com.android.phone.TelephonyDebugService"); pw.println("Starting service: " + intent); ComponentName cn = null; try { cn = startService(null, intent, intent.getType(), false, "com.android.shell", null, 0); } catch (TransactionTooLargeException e) { e.printStackTrace(); pw.println("Error "); return ; } if (cn == null) { pw.println("Error: Not found; no service started."); return ; } else if (cn.getPackageName().equals("!")) { pw.println("Error: Requires permission " + cn.getClassName()); return ; } else if (cn.getPackageName().equals("!!")) { pw.println("Error: " + cn.getClassName()); return ; } else if (cn.getPackageName().equals("?")) { pw.println("Error: " + cn.getClassName()); return ; } pw.println("service " + intent +" started"); return ; }
执行命令
adb shell dumpsys activity startService01
来调用上述代码.
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。