【问题标题】:about Launcher android关于启动器安卓
【发布时间】:2013-09-10 01:29:37
【问题描述】:

我有 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。我尝试关注Clearing and setting the default home application,但没有任何改变。

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

【问题讨论】:

    标签: android android-intent launcher android-launcher


    【解决方案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>
    

    【讨论】:

    • 我可以在不检查默认设备意图的情况下为设备设置默认启动器吗?
    • 有些设备允许您在不清除默认设置的情况下设置默认启动器,但有些设备不允许。所以最好先清除默认设置,再设置默认启动器。
    • @lsaiah:我无法通过您的代码清除默认启动器,而不是我的启动器。如何清除它?谢谢
    • @dleviathan 如果您想将您的应用设置为默认应用,请尝试: ComponentName cN = new ComponentName(mContext, FakeHome.class); p.setComponentEnabledSetting(cN, PackageManager.COMPONENT_ENABLED_STATE_ENABLED, PackageManager.DONT_KILL_APP);意图选择器 = new Intent(Intent.ACTION_MAIN);选择器.addCategory(Intent.CATEGORY_HOME); mContext.startActivity(选择器); p.setComponentEnabledSetting(cN, PackageManager.COMPONENT_ENABLED_STATE_DISABLED, PackageManager.DONT_KILL_APP);
    • @dleviathan FaceHome in xml: 看看我的编辑。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-02-08
    • 2016-11-24
    • 1970-01-01
    • 2015-06-25
    • 1970-01-01
    • 2010-12-29
    • 1970-01-01
    相关资源
    最近更新 更多