0

我对以下启动器有 2 个问题:

  1. 我的设备上有 3-4 个启动器,我怎么知道哪个启动器已在我的设备上设置为默认启动器(带有代码)。(完成)

  2. 我有自己的自定义启动器应用程序,我想在我的应用程序上清除默认启动器并且不使用:

    Intent uninstallIntent = new Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS, packageURI);
    uninstallIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
    startActivity(uninstallIntent);
    

    作为一些应用程序:Kid's Shell 或 Kids Place。我尝试按照清除并设置默认家庭应用程序,但没有任何改变。

请告诉我如何解决两件事。感谢您的任何建议。

4

1 回答 1

1

getPackageManager().clearPackagePreferredActivities(defaultLauncherPackgeName);

添加:

如果要将启动器设置为默认值,请尝试:

     ComponentName cN = new ComponentName(mContext, FakeHome.class);
     p.setComponentEnabledSetting(cN, PackageManager.COMPONENT_ENABLED_STATE_ENABLED,             PackageManager.DONT_KILL_APP);

     Intent selector = new Intent(Intent.ACTION_MAIN);
     selector.addCategory(Intent.CATEGORY_HOME);
     mContext.startActivity(selector);

     p.setComponentEnabledSetting(cN, PackageManager.COMPONENT_ENABLED_STATE_DISABLED,            PackageManager.DONT_KILL_APP);

在 AndroidManifest.xml 中:

    <activity
         android:name="com.test.FakeHome"
         android:enabled="false" >
         <intent-filter>
             <action android:name="android.intent.action.MAIN" />

             <category android:name="android.intent.category.HOME" />
             <category android:name="android.intent.category.DEFAULT" />
         </intent-filter>
     </activity>
于 2013-09-06T05:02:50.427 回答