gpt4 book ai didi

android - 知道用户是否从选择器中选择了 Intent 操作的方法

转载 作者:行者123 更新时间:2023-11-29 16:08:29 25 4
gpt4 key购买 nike

有没有办法知道用户是否从选择器中选择了 Intent 操作。

我想这样做 - 如果它由用户选择,则完成当前 Activity ,否则保留在当前 Activity 中。

我有这个代码:

startActivity(Intent.createChooser(email, "Choose an Email client :"));
finish();

但是无论用户是否选择电子邮件客户端,这总是会结束当前 Activity 。

有什么想法吗?

最佳答案

您可以通过显示您自己的自定义选择器来做到这一点

首先获取所有可以处理你的 Intent 的包

private List<String> getInstalledComponentList(Intent emailIntent)
throws NameNotFoundException {

List<ResolveInfo> ril = getPackageManager().queryIntentActivities(emailIntent, 0);
List<String> componentList = new ArrayList<String>();
String name = null;

for (ResolveInfo ri : ril) {
if (ri.activityInfo != null) {
Resources res = getPackageManager().getResourcesForApplication(ri.activityInfo.applicationInfo);
if (ri.activityInfo.labelRes != 0) {
name = res.getString(ri.activityInfo.labelRes);
} else {
name = ri.activityInfo.applicationInfo.loadLabel(
getPackageManager()).toString();
}
componentList.add(name);
}
}
return componentList;
}

然后显示一个包含所有这些包列表的对话框 like this

然后处理点击事件,启动选中的包

关于android - 知道用户是否从选择器中选择了 Intent 操作的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15809036/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com