Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/208.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 解析与意图筛选器匹配的所有服务_Android_Android Intent_Android Service_Intentfilter_Android Package Managers - Fatal编程技术网

Android 解析与意图筛选器匹配的所有服务

Android 解析与意图筛选器匹配的所有服务,android,android-intent,android-service,intentfilter,android-package-managers,Android,Android Intent,Android Service,Intentfilter,Android Package Managers,我想检索与特定意图筛选器匹配的所有服务。我有以下代码: TestService的AndroidManifest.xml: <service android:name=".TestService" android:exported="true" android:permission="com.example.MY_PERMISSIONS" > <intent-filter>

我想检索与特定意图筛选器匹配的所有服务。我有以下代码:

TestService的AndroidManifest.xml:

    <service
        android:name=".TestService"
        android:exported="true"
        android:permission="com.example.MY_PERMISSIONS"
        >
        <intent-filter>
            <action android:name="com.example.myaction" />

            <data
                android:host="myhost"
                android:scheme="https" />

            <category android:name="android.intent.category.DEFAULT" />
        </intent-filter>
    </service>

在应用程序中查询PackageManager:

    PackageManager packageManager = getPackageManager();
    Intent intent = new Intent("com.example.myaction");
    List<ResolveInfo> resolveInfos = packageManager.queryIntentServices(intent, 0);
    Log.d(TAG,String.valueOf(resolveInfos.size()));
PackageManager-PackageManager=getPackageManager();
意向意向=新意向(“com.example.myaction”);
List resolveInfos=packageManager.querytentservices(intent,0);
Log.d(TAG、String.valueOf(resolveInfos.size());

这将返回一个值=0。我不知道是什么问题?

您的
意图与
不匹配

这主要是
IMHO的问题,因为
通常不用于服务
定义


也就是说,如果您想保持
的原样,您需要有一个与
以及
匹配的
意图。请注意,与服务一起使用的
intent
不会自动将
CATEGORY\u DEFAULT
添加到它们中,与活动一起使用时的
intent
方式相同。

谢谢!删除
有效。如何修改仅使用主机和架构参数合并
的意图,如我的示例中所示?@devashishjasani:Call
setData()
setDataAndType()
上的
intent
带有合适的
Uri