【问题标题】:one explicit Intent for a list of activities活动列表的一个明确意图
【发布时间】:2015-10-17 17:59:38
【问题描述】:

当多个应用程序满足操作时,隐式意图将向用户显示应用程序列表。然后用户选择启动此应用程序。

但是,如果您有一个包名(或/和类名)列表,那么显式意图是否相同?类似的东西(不能这样工作,但这就是我想要的):

Intent i = new Intent().setClassName(ListofPackagenames, ListofClassnames)
startActivity(i);

ListofPackagenames 是包名的(数组)列表,ListofClassnames 是类名的(数组)列表。 使用 startActivity,应该显示一个对话框,就像您想要启动一个隐式意图时一样。

如果这是不可能的,我当然可以制作一个服装对话。 那么有没有一种方法,只能从包名或类名中获取 appicon?

【问题讨论】:

    标签: android android-intent explicit-intent


    【解决方案1】:

    您可以使用PackageManager 获取启动活动并使用EXTRA_INITIAL_INTENTS. 创建选择器意图 比如:

    List<String> listofPackageNames=....
    List<Intent> intentList=new ArrayList<Intent>();
    PackageManager pm = getPackageManager();
    for(String packageName:listofPackageNames){
        intentList.add(pm.getLaunchIntentForPackage(packageName));
    }
    Intent[] intents=new Intent[intentList.size()];
    intents=intentList.toArray(intents);
    Intent chooser=Intent.createChooser(intents[0],"Choose ...");
    chooser.putExtra(Intent.EXTRA_INITIAL_INTENTS,Arrays.copyOfRange(intents,1,intents.length));
    startActivity(chooser);
    

    【讨论】:

      猜你喜欢
      • 2015-07-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-08-16
      • 1970-01-01
      • 2020-10-19
      相关资源
      最近更新 更多