手机里面有个日志已经打印半年了,一直很烦人,基本上2秒左右打印一次,在调试的时候log刷刷的,从日志的内容来看,好像是关于百度定位的,因为我的手机上软件比较多,所以不能一一卸载验证(这种方法很蠢吧),而且很多应用都用到了百度定位sdk,但是一直没静下心来研究研究,今天突然有了思路,要从eclipse 的log日志中的PID寻找答案,log如下
PID是android应用程序进程的ID,网上找到了一个方法,可以根据PID得出应用程序的包名,代码如下
private String getAppName(int pID)
{
String processName = "";
ActivityManager am = (ActivityManager)this.getSystemService(ACTIVITY_SERVICE);
List l = am.getRunningAppProcesses();
Iterator i = l.iterator();
PackageManager pm = this.getPackageManager();
while(i.hasNext())
{
ActivityManager.RunningAppProcessInfo info = (ActivityManager.RunningAppProcessInfo)(i.next());
try
{
if(info.pid == pID)
{
CharSequence c = pm.getApplicationLabel(pm.getApplicationInfo(info.processName, PackageManager.GET_META_DATA));
//Log.d("Process", "Id: "+ info.pid +" ProcessName: "+ info.processName +" Label: "+c.toString());
//processName = c.toString();
processName = info.processName;
}
}
catch(Exception e)
{
//Log.d("Process", "Error>> :"+ e.toString());
}
}
return processName;
}
打印出包名是com.huawei.android.totemweather,我的手机是华为荣耀6,根据包名还有百度搜索可以判断这是手机的系统程序“天气”,然后找到应用程序管理直接停用它就行了,反正我不用这个系统自带的天气,我用墨迹天气。