各位,我用这个方法在判断activity是否存在,我把红色的的类名改成KoBe,但是还是显示这个activity存在;但是你看KoBe是不存在这个包里的,请问这是咋回事????
欢迎选择我的课程,让我们一起见证您的进步~~
この方法をやめるべき時が来ました。この方法でどれだけの人が被害を受けたかわかりません。インテントのソースコードを見てみましょう
他の回答者が述べたように、コンポーネントの検証はありません。したがって、どの setClassName パラメータを設定しても、返される ComponentName は空であってはならず、質問者が言及したアクティビティは常に存在します。 解決策、別の方法を使用してください
setClassName の 2 番目のパラメータは 包名+类名
包名+类名
リーリー
この方法は最も単純かつ大雑把な方法です
ActivityManager を使用して
resolveActivity は、クラスが存在するかどうかを確認せずに、単に setClassName で設定された値を返します。 同じプロセス内にある場合は、Class.forName(className) を使用してクラスが存在するかどうかを検出することをお勧めします
この方法をやめるべき時が来ました。この方法でどれだけの人が被害を受けたかわかりません。インテントのソースコードを見てみましょう
他の回答者が述べたように、コンポーネントの検証はありません。したがって、どの setClassName パラメータを設定しても、返される ComponentName は空であってはならず、質問者が言及したアクティビティは常に存在します。
リーリー解決策、別の方法を使用してください
setClassName の 2 番目のパラメータは
であることに注意してください。包名+类名
リーリー
この方法は最も単純かつ大雑把な方法です
リーリー
ActivityManager を使用して
を決定できますresolveActivity は、クラスが存在するかどうかを確認せずに、単に setClassName
リーリーで設定された値を返します。
同じプロセス内にある場合は、Class.forName(className) を使用してクラスが存在するかどうかを検出することをお勧めします