Android开发中在一些特殊的场景下,需要获取当前应用的包名。比如,在某个程序中有一个BroadCastReceiver通过接收系统或者底层发出的某个广播做一些处理,但由于这个广播和广播接收都是全局的,所以在某些其他的应用中可能会引起问题,这个时候就可以通过判断当前所在的应用的包名来达到屏蔽广播的效果。
代码如下:
public static String getTopPacakge(Context mContext)
{
try {
ActivityManager am = (ActivityManager) mContext
.getSystemService(Activity.ACTIVITY_SERVICE);
ComponentName cn = am.getRunningTasks(1).get(0).topActivity;
return cn.getPackageName();
} catch (Exception e) {
e.printStackTrace();
return null;
}
}