启动特殊的应用程序,防止意图选择器

没有人

我已经声明了自定义操作,Intent并基于可以处理该问题的应用程序构建了UI Intent既然我知道按钮单击应该启动哪个应用程序,如何防止选择器显示所有可能的应用程序。

final Intent intent = new Intent();
intent.setAction(CUSTOM_ACTION);

PackageManager packageManager = getPackageManager();
final List<ResolveInfo> activities = packageManager
        .queryIntentActivities(intent, 0);

for (int i = 0; i < activities.size(); i++) {
    final ResolveInfo info = activities.get(i);

    Button b = new Button(this);
    b.setText(info.loadLabel(packageManager));

    b.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            // This line was the solution
            intent.setPackage(info.activityInfo.packageName);

            startActivityForResult(intent, REQUEST_CODE);
        }
    });

    mLayout.addView(b);
}

谢谢。

元素W

看一下Intent.setPackage(String),它使您可以仅从提供的包名称开始进行Intent设置,从而绕过选择器。如果您要使用的软件包不是Android上的本地软件包,我仍然建议您首先检查它的存在,否则提醒用户。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

是否有启动器或选择器显示“设置”->“应用程序”->“背景任务”?

React 本机图像选择器导致应用程序重新启动而不会出错

创建意图选择器而不启动选定的意图

什么是GNOME的简单“颜色选择器”应用程序?

在Android应用程序中启动共享活动选择器时,Android系统已停止错误

从“选择应用程序”列表中隐藏NFC应用程序/通过外部NFC意图禁用启动

如何启动和应用选择器

选择器意图,用于检查是否存在默认应用

当文件选择器未选择文件时应用程序崩溃

如何掌握初次启动应用程序的意图

在正确的应用程序中启动可浏览的意图

使用AppDelegate tableView:numberOfRowsInSection启动时,应用程序崩溃:无法识别的选择器发送到实例

该应用程序在Payload /(应用程序ID)中引用非公共选择器:数字,setNumber:

如何获取yii2应用程序的时间和日期选择器

在新的 Edge 版本中,应用程序(例如相机)从文件选择器中消失了

如何在外部应用程序中实现AutoCAD颜色选择器

在棉花糖中打开图像选择器时,应用程序崩溃

如何在 /bootstrap 4.6 应用程序中正确显示日期时间选择器?

JavaFX:使用CSS选择器样式化应用程序

无法让我的应用程序出现在选择器Android BROWSABLE中

如何让选择器在 redux-form 应用程序中工作?

如何在iOS中显示指向应用程序沙箱的文件选择器?

如何在我的应用程序中使用 Safari 的输入文件选择器?

如何使用日期选择器在 Angular 5 应用程序中验证日期?

该应用程序在ID中引用了非公共选择器(Facebook SDK iOS)

如何使用TypeScript在Redux应用程序中使用选择器?

如何将循环选择器添加到Windows Phone 8.1应用程序?

从长列表选择器中删除项目时,应用程序关闭

Nativescript 应用程序不会在 WebView 上打开文件选择器