Articles of intentfilter

如何列出符合意图的活动?

我有一些单独的应用程序,它们都是纯粹通过主应用程序启动的。 我想知道我是否能够使用意图来检索与某些发现意图相匹配的所有子应用程序的列表。 主应用程序当前需要知道用于启动这些子应用程序的Intents,但有没有办法使用Intent来查看设备上的其他活动是否与一组intent-filters相匹配?

在主屏幕上为特定活动创建快捷方式

我想为我的用户提供一个选项,可以在应用程序中创建特定页面的快捷方式。 当你长按聊天时我在Whatsapp上看到了类似的用法,你可以创建这个特定聊天的桌面快捷方式。 我已经尝试find一些关于此function的文档,但无法使其正常工作。 这就是我所拥有的: 不是启动器活动的活动(包括意图filter) createShortcut函数 public void createShortcut(){ Intent shortcutIntent = new Intent(“com.my.example.pages.Topics”); Intent.ShortcutIconResource iconResource = Intent.ShortcutIconResource.fromContext(getActivity(), R.drawable.app_logo); // The result we are passing back from this activity Intent intent = new Intent(); intent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, shortcutIntent); intent.putExtra(Intent.EXTRA_SHORTCUT_NAME, “Shortcut Test”); intent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, iconResource); getActivity().setResult(getActivity().RESULT_OK, intent); getActivity().finish(); Toast.makeText(getActivity(),”Shortcut created”,Toast.LENGTH_SHORT).show(); } 表现 我可能会错过一些东西,因为在调用函数后我得到了Toasts但是没有创建快捷方式,并且应用程序因为finish()方法而退出。 更清楚 – 如何为非启动器活动创建快捷方式? *我在我的一个viewpager片段中运行代码。

不能在Android中的IntentFilter中使用“addAction”

你好。 我是一个Android初学者,试图制作一个可以过滤多个动作的IntentFilter。 不幸的是,当我开始使用addAction方法时,Eclipse会抛出一个错误: “令牌”addAction“上的语法错误,此标记后的标识符” 即使我已导入所需的文件。 这可能是一个设置问题,即使我不确定为什么其余的代码没有显示任何问题。 这是我的代码存根: import android.content.Intent; import android.content.Context; import android.content.IntentFilter; … private Context mContext; IntentFilter filter = new IntentFilter(); filter.addAction(“android.intent.action.SCREEN_OFF”); 我又观察了一件事 – 我输入’filter’。 没有显示,只是消息“没有默认提案” 有谁能够帮助我?

使用显式vs隐式意图启动android服务

根据标准的Android文档,启动服务(启动服务)的首选方法是使用这样的显式意图: // Using explicit intent: Intent serviceIntent = new Intent(getApplicationContext(), MyService.class); // or: Intent serviceIntent = new Intent(this, MyService.class); startService(serviceIntent); 您还可以使用带有清单中指定的操作字符串的隐式intent来启动/停止服务,如下所示: // Using implicit intent: static final String serviceAction = “com.example.my.app.services.MYSERVICE”; Intent serviceIntent = new Intent(serviceAction); startService(serviceIntent); // AndroidManifest.xml: 当服务仅在本地使用时(不允许第三方应用程序启动或绑定它),文档说明您不应在清单服务标记中包含intent-filter ,并且应将导出的标记设置为false。 注意:活动和服务在不同的进程(:application和:services进程)中运行。 活动和服务之间的通信是通过实现AIDL接口完成的(这样做是因为只有AIDL远程接口允许我在需要同时处理IPC的服务中进行multithreading,不仅在活动之间,而且主要在以下运行的服务之间进行:服务流程)。 我的问题是: Q1:当我在我的应用程序中使用的活动和服务在两个不同的进程中运行时,我是否需要使用隐式意图而不是显式意图来启动和停止服务? Q2:当:应用程序进程消失(销毁,不再在内存中)并且:服务进程在后台运行时,如何再次从新的:应用程序进程连接到已运行的:服务进程? 不知何故,我需要再次获得对:services进程的引用,以便我可以在该进程中停止正在运行的服务。 使用AIDL afaik无法做到这一点。 问题是Android可以并且将在资源不足时轻松破坏:应用程序进程,只要:服务进程继续运行,我就可以了。 (是的,我知道通过将服务设置为前台服务来影响流程等等。我也可以阅读手册;)但这不是我的问题)。 当活动和服务处于分离的进程中并使用AIDL时,我无法find与我的问题相关的任何信息或答案,并且当:应用程序进程需要在Android被杀死之后再次“find”:服务进程时用户再次进入应用程序(之前他/她离开应用程序)。 欢迎任何专家级的建议。

扫描NFC标签时是否可以启动应用程序?

我有一个NFC标签。 我想写一个自动启动的Android应用程序,当用手机扫描NFC标签时从NFC获取数据。 假设设备已打开NFC并且手机上没有其他应用程序运行,则应该可以正常工作。 我find了一些可以启动另一个应用程序的应用程序,但我的应用程序应该可以在没有后台运行的其他应用程序的情 有什么方法可以解决这个问题吗?

android nfc intent-filter在nfc发现标签时显示我的应用程序

我正在编写一个适用于NFC和MIFARE CARD的应用程序。 当我的NFC设备检测到卡时,它会显示可以使用NFC的应用程序列表,但我的应用程序未被提及。 我的android清单文件中缺少什么? 这是我的tech_filter文件xml: android.nfc.tech.MifareClassic 这里的图像显示我的应用程序不在列表中:

意图filter和android:pathPattern

在我的应用程序中,我想处理使用以下模式的链接: scheme://host/folder1/folder2/folder3/folder4/article 我通过使用以下内容暂时让它工作: 但是,正如您可能想象的那样打开任何以scheme://host开头的链接,并且我想确保我只接收那些具有上述模式的页面,其中页面是主机内的4个文件夹。 另一个小问题是文件夹名称永远不会相同,因此我不能简单地使用android:path 。 同样值得注意的是android:pathPrefix是不一样的,因为前三个文件夹是日期相关的。 例如,url是这样的: scheme://host/year/month/day/articleType/article 我一直在阅读有关如何使用android:pathPattern的文档和问题,但我真的不明白我应该输入什么。 有任何想法吗? 谢谢! 编辑 根据建议,我试过: android:pathPattern=”/.*/.*/.*/.*/.*” 其中每个’。*’代表一个文件夹,但似乎仍然拿起其他不是文章的url。 例如,以下是两个不同的url: 我想要处理的url: http://www.laprensa.com.ni/2013/05/10/vida/145996-lionel-richie-defiende-a url我不想处理 http://www.laprensa.com.ni/2013/05/10/vida/ 我想这里的问题是它们都具有相同数量的水平,唯一的区别是在最后一个’/’之后实际上有一些东西,我可以尝试其他任何想法吗? 我确实尝试添加一个’/.*’但完全停止工作,应用程序停止处理任何链接期间:(

没有调用IntentService

我试图从一个Activity中的onCreate发送一个Intent来启动一个IntentService。 但是永远不会收到IntentService的onHandleIntent。 我尝试使用Intent-filters更改Manifest,但似乎没有任何工作。 没有抛出exception,但根本没有调用IntentService。 这是onCreate @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); db = new TwitterDB(this); String[] columns = new String[1]; columns[0] = TwitterDB.TEXT; tAdapter = new SimpleCursorAdapter(this, 0, null, columns, null, 0); tweets = (ListView)findViewById(R.id.listtwitter); tweets.setAdapter(tAdapter); Intent intent = new Intent(this, SyncService.class); intent.putExtra(“action”, SyncService.TWITTER_SYNC); this.startService(intent); } 这是IntentService类的创建者和onHandleIntent,我知道它没有被调用,因为logcat从不显示“检索到的意图”。 也没有调用构造函数(那里有一个日志调用,但我删除了它。 public SyncService(){ super(“SyncService”); twitterURI = […]

用于GEO-URI的Android Intentfilter

我尝试编写一个Activity作为谷歌地图的替代品。 通过google-mapsurl调用它时效果很好: 但由于某些原因,在使用“geo”-URI启动Intent时它没有显示出来。 我的活动: 来电者(这启动谷歌地图,但没有选择启动我的应用程序): final String uri = “geo:” + lat + “,” + lng; startActivity(new Intent(android.content.Intent.ACTION_VIEW, Uri.parse(uri)));

用于蓝牙,wifi和振铃模式的广播意图

在以下事件中广播的意图是什么, Wifi状态改变 蓝牙状态改变 振铃模式改变