我想使用ActivityManager获取当前APP的列表,并将最新的进程名称返回给系统剪贴板。就像这样
protected void onStart() {
super.onStart();
Amanager=(ActivityManager)this.getSystemService(ACTIVITY_SERVICE);
ActivityManager.RunningAppProcessInfo App=null;
List<ActivityManager.RunningAppProcessInfo> RunningTasks;
try {
RunningTasks = Amanager.getRunningAppProcesses();
App = RunningTasks.get(0);
}catch (final Exception e){Log.d(TAG, "List ERROR");}
if(App!=null) {
String result =App.processName;
contentText.setText(result);;
Clipboard.setText(result);
}else {
Log.d(TAG, "COMPONENT ERROR");
}
}
但是当在模拟器上运行时,发生了一些错误:
java.lang.RuntimeException:无法启动活动ComponentInfo {//绝对地址}:
答案 0 :(得分:2)
试试这个
function checkNested(obj /*, level1, level2, ... levelN*/) {
var args = Array.prototype.slice.call(arguments, 1);
for (var i = 0; i < args.length; i++) {
if (!obj || !obj.hasOwnProperty(args[i])) {
return false;
}
obj = obj[args[i]];
}
return true;
}
var test = {level1:{level2:{level3:'level3'}} };
checkNested(test, 'level1', 'level2', 'level3'); // true
checkNested(test, 'level1', 'level2', 'foo'); // false
这可能有助于你
答案 1 :(得分:2)
你的代码非常好。您收到此异常是因为contentText
为空。确保您正确引用它。