我想实现在代码中判断是不是某个应用,然后进行某些操作,哪位大哥知道代码应该怎么写?最好能写出来,小弟JAVA新手~
下面是我写的,有什么问题不?
if(contex.getPackageName()== "com.android.mms")
do something
else
do something
下面是我写的,有什么问题不?
if(contex.getPackageName()== "com.android.mms")
do something
else
do something
List<ApplicationInfo> apps = mPm.getInstalledApplications(PackageManager.GET_UNINSTALLED_PACKAGES | PackageManager.GET_DISABLED_COMPONENTS);
for (int i = 0; i < apps.size(); i ++){
Log.i("Package Name :", " " + apps.get(i).packageName + " Process Name : " + apps.get(i).processName);
if(mPackageName != null && apps.get(i).packageName.equals(mPackageName)){
appProcessName = apps.get(i).processName;
}
}
List<ActivityManager.RunningAppProcessInfo> mRunningProcess = mSelf.getRunningAppProcesses();
for (int i = 0; i < mRunningProcess.size(); i ++)
{
Log.i("Application", i + " PID: " + mRunningProcess.get(i).pid + " UID:" + mRunningProcess.get(i).uid + " (processName=" + mRunningProcess.get(i).processName +")");
if(appProcessName != null && mRunningProcess.get(i).processName != null && mRunningProcess.get(i).processName.equals(appProcessName)){
mPid = mRunningProcess.get(i).pid;
mUid = mRunningProcess.get(i).uid;
mProcessName = mRunningProcess.get(i).processName;
}
}
我在framewrok里面改的代码
frameworks/base/core/java/android/net/MobileDataStateTracker.java:270: package context does not exist
if(context.getPackageName.toString().equal("com.android.phone")){
你需要导入这个类所在的包,在 Java 中,“==” 表示比较基本数据或者对象的内存地址是否想等。
equals 原本意思是比较对象内存地址是否相等,但是 String 重写了该方法,所以可以用来比较两个 String 对象的内容是否一样。关于equals方法,建议看看Object类的源码,然后载看看String类是如何重写equals方法的。希望对你有用。