- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试获取与扩展关联的默认程序的图标。
这是我的代码:
Intent intent = new Intent(Intent.ACTION_VIEW);
MimeTypeMap mime = MimeTypeMap.getSingleton();
String tt = mime.getMimeTypeFromExtension(getExtension());
intent.setDataAndType(Uri.fromFile(getFile()), tt);
List<ResolveInfo> matches = c.getPackageManager().queryIntentActivities(intent, 0);
for (ResolveInfo match : matches) {
if(match.isDefault){
//GET ICON
}
}
问题是 match.isDefault
总是返回 false,即使我尝试将 PackageManager 的标志从 0
设置为 PackageManager.MATCH_DEFAULT_ONLY
.
显然,我正在测试的文件(视频)默认与程序(MX Player)相关联。
有人可以帮帮我吗?
提前致谢。
最佳答案
作为替代解决方案,您可能希望使用此方法获取默认 Intent :
ResolveInfo info = getPackageManager().resolveActivity(intent, PackageManager.MATCH_DEFAULT_ONLY);
返回的结果是:
如果没有为 Intent 设置默认值:info.activityInfo.name 等于“com.android.internal.app.ResolverActivity”
如果为 Intent 设置了任何默认应用程序,则您可以检查 ResolveInfo 对象以获取默认应用程序信息。
编辑:
对于url,你可以这样做:
//Example: youtube url
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.youtube.com/watch?v=something"));
ResolveInfo defaultResolution = getPackageManager().resolveActivity(intent, PackageManager.MATCH_DEFAULT_ONLY);
//Print the activity name
Log.i(TAG, "defaultResolution:" + defaultResolution.activityInfo.name);
关于android - ResolveInfo.isDefault 始终为 false,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11894952/
谁能更好地解释一下我吗? 只是阅读文档,我不太明白。 最佳答案 如果将 IsDefault 设置为 true,按钮将成为窗口的默认按钮,即,如果当前焦点不在任何接受 ENTER 键按钮单击事件的可聚焦
我的 Window 上放置了 3 个控件在 WPF 中,每个控件包含一个或多个 TextBox和 Button , when a new control is selected I would lik
我正在尝试获取与扩展关联的默认程序的图标。 这是我的代码: Intent intent = new Intent(Intent.ACTION_VIEW); MimeTypeMap mime = Mim
我有一个不是从 Button 派生的自定义按钮控件。我是否可以实现等效于 IsDefault 以便将调用与我的控件关联的命令。我希望这是一个附加属性,我可以添加到任何控件中,但据我所知它似乎不是。如果
I really don't know what the problem is! class RegisterController extends Controller { public fu
根据 commander.js自述文件,我可以这样指定默认命令: var program = ...; program ... .command('list', 'list packages
我找到了这个 link关于类似的问题,除了我的文本框增加了在焦点丢失后需要格式化的值。 用户在文本框中输入文本后,我想使用用户定义的掩码对其进行格式化。例如,如果掩码是“00000”,则约定是右对
我是一名优秀的程序员,十分优秀!