各位,我用这个方法在
判断activity是否存在,
我把红色的的类名改成KoBe,但是还是显示这个activity存在;但是你看
KoBe是不存在这个包里的,请问这是咋回事????
巴扎黑2017-04-17 17:58:38
이제 이 방법을 포기해야 할 때입니다. 이 방법이 얼마나 많은 사람들에게 피해를 입혔는지 모르겠습니다. Intent 소스코드를 살펴보겠습니다
다른 응답자들이 말했듯이 컴포넌트에 대한 검증이 없습니다. 따라서 어떤 setClassName 매개변수를 설정하더라도 반환된 ComponentName은 비어 있으면 안 되므로 질문자가 언급한 활동은 항상 존재합니다.
해결책, 다른 방법을 사용하세요
setClassName의 두 번째 매개변수는 包名+类名
迷茫2017-04-17 17:58:38
resolveActivity는 클래스 존재 여부를 확인하지 않고 단순히 setClassName
에 의해 설정된 값을 반환합니다.
동일한 프로세스라면 Class.forName(className)을 사용하여 클래스 존재 여부를 확인하는 것이 좋습니다