попробуйте это:
ActivityManager actMngr = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
string runningPkg = actMngr.getRunningTasks(1).get(0).topActivity.getPackageName();
PackageManager pm = context.getPackageManager();
ApplicationInfo ai = pm.getApplicationInfo(runningPkg , 0);
Добавлено:
Если вы не получаете имя apk, вы можете сравнить его с установленным pkg и получить соответствующее имя приложения.Вы можете получить имя pkg и имя установленного приложения следующим образом:
ArrayList<PackageInfo> res = new ArrayList<PackageInfo>();
PackageManager pm = ctx.getPackageManager();
List<PackageInfo> packs = pm.getInstalledPackages(0);
for(int i=0;i<packs.size();i++) {
PackageInfo p = packs.get(i);
String description = (String) p.applicationInfo.loadDescription(pm);
String label= p.applicationInfo.loadLabel(pm).toString();
//Continue to extract other info about the app...
}
Примечание. Добавьте это разрешение в файл манифеста:
<uses-permission android:name="android.permission.GET_TASKS" />