【问题标题】:Android 6.0: Get package name of current activity [duplicate]Android 6.0:获取当前活动的包名称[重复]
【发布时间】:2016-04-04 08:30:51
【问题描述】:

如何获取当前活动包名?正如getRunningAppProcesses() 在Android 6.0 中不工作。

下面是我的代码:

grdPhoto.setOnItemClickListener(new AdapterView.OnItemClickListener() {
    @TargetApi(Build.VERSION_CODES.LOLLIPOP)
    @Override
    public void onItemClick(AdapterView<?> parent, View view, int position, long id) {

        //get package name of current running application.
        ActivityManager mActivityManager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
        packageName = mActivityManager.getRunningAppProcesses().get(1).processName;

        Log.e("Package name:===========      ", "Package name     " + packageName);

    }
});

【问题讨论】:

标签: android android-activity android-6.0-marshmallow android-package-managers


【解决方案1】:

此代码是不必要的:

//get package name of current running application.
ActivityManager mActivityManager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
packageName = mActivityManager.getRunningAppProcesses().get(1).processName;

试试这个:

grdPhoto.setOnItemClickListener(new AdapterView.OnItemClickListener() {
    @Override
    public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
        //get package name of current running application.
        Log.e("Package name:===========      ", "Package name     " + getApplicationContext().getPackageName());
           }
});

如果这不起作用,您知道您的 ontemclicklistener 存在问题,因此请在您的 oncreate 方法中尝试此操作或作为日志来证明getApplicationContext().getPackageName() 将获得正确的应用程序包名称。

Toast.makeText(this, getApplicationContext().getPackageName(),Toast.LENGTH_SHORT).show();

【讨论】:

    【解决方案2】:

    获取包名:

    getApplicationContext().getPackageName();
    

    也请参考:Get package name.

    【讨论】:

      猜你喜欢
      • 2011-08-05
      • 1970-01-01
      • 1970-01-01
      • 2016-04-03
      • 2013-06-25
      • 2016-03-28
      • 2013-01-01
      • 2017-09-02
      • 2012-05-24
      相关资源
      最近更新 更多