Android 如何从应用程序中获取mimeType?
如何从应用程序中获取mimeType 我正在开发一个基于mimeType过滤某些已安装应用程序的应用程序 有人能帮我解决这个问题吗 非常感谢 如何从应用程序中获取mimeType 应用程序没有MIME类型 您可以使用某种MIME类型创建一个Android 如何从应用程序中获取mimeType?,android,mime-types,Android,Mime Types,如何从应用程序中获取mimeType 我正在开发一个基于mimeType过滤某些已安装应用程序的应用程序 有人能帮我解决这个问题吗 非常感谢 如何从应用程序中获取mimeType 应用程序没有MIME类型 您可以使用某种MIME类型创建一个ACTION\u视图Intent,并使用PackageManager和queryntentactivities()确定哪些活动将响应该Intent 如何从应用程序中获取mimeType 应用程序没有MIME类型 您可以使用某种MIME类型创建一个ACTION\
ACTION\u视图
Intent
,并使用PackageManager
和queryntentactivities()
确定哪些活动将响应该Intent
如何从应用程序中获取mimeType
应用程序没有MIME类型
您可以使用某种MIME类型创建一个
ACTION\u视图Intent
,并使用PackageManager
和queryIntentActivities()
来确定哪些活动将响应该Intent您只能在Intent中获取MIME类型的数据:
String type = getIntent().getType();
您只能在以下意图中获取MIME类型的数据:
String type = getIntent().getType();
mime类型与活动相关联。您可以使用List和PackageManager.QueryInputActivities(i,0)来获取给定数据mime类型的所有活动以及应用程序
public static List<ResolveInfo> getIntents(String action, String category,
PackageManager pm) {
Intent i = new Intent(action, null);
i.addCategory(category);
i.setData(data_uri)
List<ResolveInfo> list = pm.queryIntentActivities(i, 0);
return list;
}
公共静态列表getIntents(字符串操作、字符串类别、,
包装经理(pm){
意向i=新意向(行动,无效);
i、 添加类别(类别);
i、 setData(数据_uri)
列表=pm.QueryEntActivities(i,0);
退货清单;
}
否则,您可以通过以下方式获得所有应用程序(可启动):
getIntents(Intent.ACTION\u默认值,Intent.CATEGORY\u启动器,pm)
现在按字符串类型分类=getIntent().getType() mime类型与活动相关联。您可以使用List和PackageManager.QueryInputActivities(i,0)来获取给定数据mime类型的所有活动以及应用程序
public static List<ResolveInfo> getIntents(String action, String category,
PackageManager pm) {
Intent i = new Intent(action, null);
i.addCategory(category);
i.setData(data_uri)
List<ResolveInfo> list = pm.queryIntentActivities(i, 0);
return list;
}
公共静态列表getIntents(字符串操作、字符串类别、,
包装经理(pm){
意向i=新意向(行动,无效);
i、 添加类别(类别);
i、 setData(数据_uri)
列表=pm.QueryEntActivities(i,0);
退货清单;
}
否则,您可以通过以下方式获得所有应用程序(可启动):
getIntents(Intent.ACTION\u默认值,Intent.CATEGORY\u启动器,pm)
现在按字符串类型分类=getIntent().getType() 虽然这不是一个完整的答案,但这应该有助于你更接近:
PackageManager pm = getPackageManager();
Intent i = new Intent(Intent.ACTION_MAIN);
i.addCategory(Intent.CATEGORY_LAUNCHER);
//i.setData(Media.INTERNAL_CONTENT_URI);
List<ResolveInfo> list = pm.queryIntentActivities(i, 0);
for(ResolveInfo item : list){
try {
PackageInfo info = pm.getPackageInfo(item.activityInfo.applicationInfo.packageName, pm.GET_SIGNATURES);
Signature[] s = info.signatures;
Log.d(LOG_TAG,item.activityInfo.name +":"+ s.toString());
} catch (NameNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
if(item.filter!=null){
Log.d(LOG_TAG,item.activityInfo.name + ": " + item.filter.toString());
List<String> types = (List<String>) item.filter.typesIterator();
}
}
PackageManager pm=getPackageManager();
意向i=新意向(意向.行动\主要);
i、 addCategory(意图.类别\发射器);
//i、 setData(媒体内部内容URI);
列表=pm.QueryEntActivities(i,0);
用于(ResolveInfo项:列表){
试一试{
PackageInfo=pm.getPackageInfo(item.activityInfo.applicationInfo.packageName,pm.GET_签名);
签名[]s=信息签名;
Log.d(Log_标记,item.activityInfo.name+”:“+s.toString());
}catch(nameNotFounde异常){
//TODO自动生成的捕捉块
e、 printStackTrace();
}
if(item.filter!=null){
Log.d(Log_标记,item.activityInfo.name+”:“+item.filter.toString());
列表类型=(列表)项.filter.typesIterator();
}
}
虽然这不是一个完整的答案,但这应该有助于您更接近:
PackageManager pm = getPackageManager();
Intent i = new Intent(Intent.ACTION_MAIN);
i.addCategory(Intent.CATEGORY_LAUNCHER);
//i.setData(Media.INTERNAL_CONTENT_URI);
List<ResolveInfo> list = pm.queryIntentActivities(i, 0);
for(ResolveInfo item : list){
try {
PackageInfo info = pm.getPackageInfo(item.activityInfo.applicationInfo.packageName, pm.GET_SIGNATURES);
Signature[] s = info.signatures;
Log.d(LOG_TAG,item.activityInfo.name +":"+ s.toString());
} catch (NameNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
if(item.filter!=null){
Log.d(LOG_TAG,item.activityInfo.name + ": " + item.filter.toString());
List<String> types = (List<String>) item.filter.typesIterator();
}
}
PackageManager pm=getPackageManager();
意向i=新意向(意向.行动\主要);
i、 addCategory(意图.类别\发射器);
//i、 setData(媒体内部内容URI);
列表=pm.QueryEntActivities(i,0);
用于(ResolveInfo项:列表){
试一试{
PackageInfo=pm.getPackageInfo(item.activityInfo.applicationInfo.packageName,pm.GET_签名);
签名[]s=信息签名;
Log.d(Log_标记,item.activityInfo.name+”:“+s.toString());
}catch(nameNotFounde异常){
//TODO自动生成的捕捉块
e、 printStackTrace();
}
if(item.filter!=null){
Log.d(Log_标记,item.activityInfo.name+”:“+item.filter.toString());
列表类型=(列表)项.filter.typesIterator();
}
}
你好,sameer,你能给我举个例子吗。就像我想要的所有应用程序都有视频mimeType。嗨,sameer,你能给我举个例子吗。就像我想要所有的应用程序都有视频模版。我用这个代码来获取所有的模版。但是我得到的是nullpointer作为变量item.filter在模拟器和设备中都始终为null。我使用这段代码来获得所有的mimetype。但我得到的是nullpointer作为变量item.filter在模拟器和设备中都始终为null。