Questions tagged «intentfilter»

在Android中,IntentFilter表示组件的兴趣或处理特定数据或动作的能力。可以与意图中的操作,类别和数据(通过其类型,方案和/或路径)进行匹配。它还包括一个“优先级”值,该值用于对多个匹配过滤器进行排序。


5
如何在Android上实现我自己的URI方案
说我想定义一个URI,例如: myapp://path/to/what/i/want?d=This%20is%20a%20test 必须由我自己的应用程序或服务处理。请注意,该方案"myapp",而不是"http",或"ftp"。这正是我的意图:为Android OS全局定义自己的URI模式。这可能吗? 这在某种程度上类似于某些程序已经在Windows系统上执行的操作,例如Skype(skype://)或任何torrent下载程序(torrent://)。


6
如何检查某个活动是否可以处理意图?
到目前为止,我已经有了这种方法,但是好像缺少了一些东西 例如,我有一个文件/sdcard/sound.3ga返回false(例如没有活动可以处理这种类型的文件),但是当我从文件管理器中打开它时,它可以与媒体播放器一起正常打开 我认为这个意图还不完整,我需要做更多的事情来确保只有没有活动可以处理这个意图时,handlerExists变量才会为false。 PackageManager pm = getPackageManager(); Intent intent = new Intent(android.content.Intent.ACTION_VIEW); String extension = android.webkit.MimeTypeMap.getFileExtensionFromUrl(Uri.fromFile(new File(uriString)).toString()); String mimetype = android.webkit.MimeTypeMap.getSingleton().getMimeTypeFromExtension(extension); intent.setDataAndType(Uri.fromFile(new File(uriString)),mimetype); boolean handlerExists = intent.resolveActivity(pm) != null;

3
拦截来自浏览器的链接以打开我的Android应用
我希望能够在用户单击给定格式的URL时提示我的应用程序打开链接,而不是允许浏览器打开它。当用户在浏览器中的网页上,电子邮件客户端中或刚开发的应用程序中的WebView中时,可能就是这种情况。 例如,从手机中的任意位置单击YouTube链接,您将有机会打开YouTube应用。 如何为自己的应用程序实现这一目标?


7
通过Android中的Intent选择任何类型的文件
我想为可以返回任何文件的应用程序启动一个Intentchooser 目前,我使用(从Android电子邮件源代码复制的文件附件) Intent intent = new Intent(Intent.ACTION_GET_CONTENT); intent.addCategory(Intent.CATEGORY_OPENABLE); intent.setType("*/*"); Intent i = Intent.createChooser(intent, "File"); startActivityForResult(i, CHOOSE_FILE_REQUESTCODE); 但它在我的Galaxy S2上仅显示“图库”和“音乐播放器”。该设备上有一个文件浏览器,我希望它出现在列表中。我还希望相机应用程序显示在列表中,以便用户可以拍摄图片并通过我的应用程序发送。如果我安装了Astro文件管理器,它也会响应该意图。我的客户仅是Galaxy SII所有者,鉴于他们已经具有基本但足够的文件管理器,因此我不想强迫他们安装Astro文件管理器。 关于如何实现此目标的任何想法吗?我敢肯定,我已经看到默认的文件管理器出现在这样的菜单中来选择文件,但是我不记得是哪个应用程序了。

16
Android意向过滤器:将应用程序与文件扩展名关联
我有一个要与我的应用程序关联的自定义文件类型/扩展名。 据我所知,数据元素是为此目的而制作的,但我无法使其正常工作。 http://developer.android.com/guide/topics/manifest/data-element.html 根据文档以及许多论坛帖子,它应该像这样工作: <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.BROWSABLE" /> <data android:mimeType="application/pdf" /> </intent-filter> 好吧,它不起作用。我做错什么了?我只想声明自己的文件类型。

6
无法启动服务意图
我有一个服务班。我将此类导出到jar,并将jar嵌入到客户端应用程序中。 需要时,我调用服务类。当我尝试执行此操作时,出现以下错误: Unable to start service Intent {comp={com.sample.service/com.sample.service.serviceClass}} : not found 除了服务类外,我还有其他类,可以访问(创建该类的对象)在同一jar内。 我觉得我错过了配置或清单中的某些内容。 请帮我识别一下。我的代码如下: public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); Intent intent = new Intent () ; intent.setClassName("com.sample.service" ,"com.sample.service.serviceClass") ; this.startService(intent) ; // when I call this line I get the message... // binding other process continue here } 客户端manifest.xml …

2
清单与活动中的广播接收器注册
我需要一些帮助,以了解何时可以期望广播接收器在清单中进行注册后才能正常工作,而不必从正在运行的活动或服务中进行注册。 因此,例如,如果我使用以下意图过滤器注册独立接收器,则该接收器可以在不具有服务/活动引用的情况下运行: <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.blk_burn.standalonereceiver" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="10" /> <uses-permission android:name="android.permission.WAKE_LOCK"/> <application android:icon="@drawable/ic_launcher" android:label="@string/app_name" > <receiver android:name="TestReceiver"> <intent-filter> <action android:name="android.media.AUDIO_BECOMING_NOISY"/> </intent-filter> </receiver> </application> </manifest> 但是如果我更换android.media.AUDIO_BECOMING_NOISY与android.intent.action.HEADSET_PLUG接收器没有被触发(Android文档) 根据我在该站点上发现的信息,您必须从已经运行的一项活动或服务中注册该接收器,以使其正常工作(发布)。 谁能告诉我为什么仅在清单中调整意图过滤器时为什么此方法不起作用,以及为什么需要在后台运行一个引用/注册接收器的服务? 有没有变通的方法,这样我就可以使用intent过滤器在我的应用清单中注册接收者了android.intent.action.HEADSET_PLUG? 我该如何确定android文档中的哪些Broadcast操作需要服务或活动进行注册,而不是在清单中添加正确的过滤器?
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.