【问题标题】:How to log Launcher Activity name for a Activity?如何记录活动的启动器活动名称?
【发布时间】:2018-03-06 07:04:46
【问题描述】:

我需要在 android 中记录特定活动的启动器活动名称。

我已经尝试使用“Get the launcher Activity name of an android application”中给出的代码进行一些修改,例如.. 1)我创建了一个名为launcherActivity的类。 2) 在那个类中,我创建了一个名为 getLauncherActivity() 的方法。 3) 当我尝试在另一个类中调用此方法时,它显示空对象引用。

public class LauncherActivity {

    public String getLauncherActivity(Context context){
        PackageManager packageManager = context.getPackageManager();
        Intent intent = packageManager.getLaunchIntentForPackage(context.getPackageName());
        return null;
    }
}

我调用这个方法有

String launcheractivity=launcherActivity.getLauncherActivity(ctx);

我需要做哪些更改才能记录此启动器活动名称。 所以请给建议...

提前谢谢你:)

【问题讨论】:

  • 试试String launcheractivity=this.getClass();
  • 你为什么返回 null ?
  • 如果我尝试返回意图,则表明它显示错误需要字符串但返回意图

标签: android logging


【解决方案1】:

首先,活动没有启动器活动。应用程序具有启动器活动。如果您想知道手机中安装的所有应用程序的所有启动器活动的名称。然后就可以通过代码here得到它了

【讨论】:

  • 我会尝试使用这个。谢谢
【解决方案2】:

这应该是你需要的。

public String getLauncherActivity(Context context){
        PackageManager packageManager = context.getPackageManager();
        Intent intent =    packageManager.getLaunchIntentForPackage(context.getPackageName());
        String lname=intent.getComponent().getClassName();
        Log.e("luncher",lname);
        return lname;

【讨论】:

  • 如果我在单独的类中编写此代码。那么我需要从另一个类调用此方法,所以首先我需要创建一个私有上下文 ctx。然后使用String LauncherActivity=launcheractivity.getLauncherActivity(ctx);。这样对吗?
  • 但我得到空对象引用
  • 如果可以的话,给我看看你的日志以及你班级的代码
  • 如果可以的话,给我看看你的日志和你班级的代码
  • 我们可以从程序中的任何地方调用方法还是需要遵循一些程序来调用方法
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-01-05
  • 1970-01-01
相关资源
最近更新 更多