代码之家  ›  专栏  ›  技术社区  ›  mishkin

重新提示选择默认活动

  •  0
  • mishkin  · 技术社区  · 14 年前

    有没有一种方法可以重新要求用户为意图选择默认活动?例如,用户选择默认的home apk,我希望他再次重新考虑他的选择。

    著名的Home Switcher也做了类似的事情,但由于google团队的原因,它不再适用于2.2

    2 回复  |  直到 14 年前
        1
  •  0
  •   CommonsWare    14 年前

    例如,用户选择默认的home apk,我希望他再次重新考虑他的选择。

    clearPackagePreferredActivities() 把你自己作为首选。

    换句话说,欢迎您影响自己的应用程序,但不欢迎您影响其他应用程序。

        2
  •  1
  •   Ronnie    14 年前

    这就是我如何表示“活动选择”对话框:

    Intent selector = new Intent("android.intent.action.MAIN");
    selector.addCategory("android.intent.category.HOME");
    selector.setComponent(new ComponentName("android", "com.android.internal.app.ResolverActivity"));
    
    startActivity(selector);
    

    以上代码适用于我的2.2版平板电脑。 执行时,它会显示“完成操作:”对话框,其中包含列表中所有可能的主应用程序。


    过滤器-包含意图过滤器数据,您可以查询它是什么类型的数据。

    这样,您可以检查您的应用程序是否是用户首选的当前“主”应用程序集。

    List<IntentFilter> filters = new ArrayList<IntentFilter>();
    List<ComponentName> comps= new ArrayList<ComponentName>();
    getPackageManager().getPreferredActivities(filters, comps, null);
    
    推荐文章