我想实现在代码中判断是不是某个应用,然后进行某些操作,哪位大哥知道代码应该怎么写?最好能写出来,小弟JAVA新手~
下面是我写的,有什么问题不?
if(contex.getPackageName()== "com.android.mms")
do something
else
do something

解决方案 »

  1.   

    mPm = context.getPackageManager();
    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;
         }
         } 
      

  2.   

    if(contex.getPackageName()== "com.android.mms")这句可能要改一下:if(context.getPackageName().toString().equal("com.android.mms")){}
      

  3.   

    编译报错,咋回事???是不是认为context找不到?应该import啥东东?
    我在framewrok里面改的代码
    frameworks/base/core/java/android/net/MobileDataStateTracker.java:270: package context does not exist
            if(context.getPackageName.toString().equal("com.android.phone")){
      

  4.   

    错误提示你找不到context包,你是不是把android.content.Context写成android.content.context了?
      

  5.   

    Context 是一个类,上下文句柄。
    你需要导入这个类所在的包,在 Java 中,“==” 表示比较基本数据或者对象的内存地址是否想等。
    equals 原本意思是比较对象内存地址是否相等,但是 String 重写了该方法,所以可以用来比较两个 String 对象的内容是否一样。关于equals方法,建议看看Object类的源码,然后载看看String类是如何重写equals方法的。希望对你有用。
      

  6.   

    android.content.Context写成android.content.context了?