有没有办法在不向 Intent 添加额外内容的情况下获取启动 Intent 的活动的类名?
我使用以下代码启动其他活动。
Intent intent = new Intent(CallerClass.this, TargetClass.class);
startActivity(intent);
我可以在目标类中获取调用者类的名称吗?
有没有办法在不向 Intent 添加额外内容的情况下获取启动 Intent 的活动的类名?
我使用以下代码启动其他活动。
Intent intent = new Intent(CallerClass.this, TargetClass.class);
startActivity(intent);
我可以在目标类中获取调用者类的名称吗?
您可以做到这一点的一种方法是使用startActivityForResult()
而不是,startActivity(Intent)
然后使用第二个活动getCallingActivity()
来获取CallerClass
.
使用 startActivityForResult 然后您可以通过以下方式检索活动调用者:getCallingActivity().getClassName()
String packageName = context.getPackageName();
Intent launchIntent = context.getPackageManager().getLaunchIntentForPackage(packageName);
String className = launchIntent.getComponent().getClassName();