android 如何让应用程序在全部应用程序列表里显示跟隐藏!

之前有个客户的需求特别怪,要求应用不在全部应用程序列表里显示,通过拨打指定的电话号码形式启动应用,开始的想发就是在manifest.xml里的第一个activity里不添加<action android:name="android.intent.action.MAIN" />    <category android:name="android.intent.category.LAUNCHER" />这两个intentfilter。发现在4.0以上的版本就会出现错误!4.0会认为你这个是不安全的信息,无法启动。后来在PackageManager里发现了setComponentEnabledSetting这个方法,可以达到效果!看代码吧!

  
  
  
  
  1. //隐藏效果
  2. PackageManager p = getPackageManager();
  3. p.setComponentEnabledSetting(getComponentName(), PackageManager.COMPONENT_ENABLED_STATE_DISABLED, PackageManager.DONT_KILL_APP);

//重新显示效果

   
   
   
   
  1. PackageManager p = getPackageManager();
  2. p.setComponentEnabledSetting(getComponentName(), PackageManager.COMPONENT_ENABLED_STATE_ENABLED, PackageManager.DONT_KILL_APP);


你可能感兴趣的:(android 如何让应用程序在全部应用程序列表里显示跟隐藏!)