天道酬勤,学无止境

intentfilter

从另一个应用程序启动一个 Android 应用程序(Starting One Android App from Another App)

问题 从另一个应用程序启动一个 Android 应用程序的最佳方式是什么? 是否发送自定义广播事件并让其他应用程序的广播接收器捕获此事件并对某事执行启动活动? 谢谢 回答1 使用意图:http://developer.android.com/guide/topics/intents/intents-filters.html 如果您想在完成后获得结果,请使用 Context.startActivity() 来启动或使用 Activity.startActivityForResult() 。 如果您与其他应用程序紧密耦合,则可以使用显式 Intent。 否则,发送一个隐式意图。 回答2 最好的方法是像这样按意图调用 http://www.lacherstorfer.at/haris_blog/2008/03/android-howto-invoke-a-phone-c.html 回答3 用这个: PackageManager pm = getPackageManager(); try { String packageName = "com.example.package"; Intent launchIntent = pm.getLaunchIntentForPackage(packageName); startActivity(launchIntent); } catch

2021-12-03 13:15:25    分类:技术分享    android   broadcastreceiver   intentfilter

如何正确过滤包替换广播(How to correctly filter Package replaced broadcast)

问题 我正在尝试为我的应用程序和仅我的应用程序捕获包替换广播,但由于某种原因,在我的接收器中,我是每个更新的应用程序的广播。 我以为您只需要将清单文件中的意图过滤器设置为您的应用程序,但也许我错了? 这是我的代码(清单): <receiver android:name=".UpdateReciever"> <intent-filter> <action android:name="android.intent.action.PACKAGE_REPLACED" /> <data android:scheme="package" android:path="com.my.app" /> </intent-filter> </receiver> 接收器: public class AppUpdateReciever extends BroadcastReceiver { @Override public void onReceive(Context con, Intent intent) { //code.. } } 回答1 将此添加到您的 onReceive 方法中: if (intent.getDataString().contains("com.my.app")){ ... } 编辑:请注意,注册ACTION_PACKAGE

2021-12-01 22:59:33    分类:技术分享    android   broadcastreceiver   broadcast   intentfilter

如何从 Activity.startActivity(Intent) 选择器中排除我自己的 Activity?(How to exclude my own Activity from Activity.startActivity(Intent) chooser?)

问题 我的应用程序适用于图片。 它可以将多张图片作为输入,处理它们,然后将它们再次发送到另一个应用程序。 因此,我的主要Activity已在ACTION_SEND_MULTIPLE为image/* mimetypes 声明了一个意图过滤器,并可能导致使用Activity.startActivity(Intent)发出具有相同动作和数据类型的新Intent 。 有没有办法从startActivity()调用后显示给用户的应用程序列表中排除我自己的活动? 回答1 不是直接的,AFAIK。 但是,您可以使用PackageManager和queryIntentActivityOptions()创建自己的选择器,这确实允许将您自己(或其他事物)过滤掉。 回答2 你需要做的是: 查询可用的应用程序来处理意图。 如果有一个默认活动来处理它,它不属于你的应用程序,直接打开它(使用startActivity() )。 否则,显示一个意图选择器,不包括您自己的应用程序包。 因此,即使您的应用程序被设置为处理此类意图的默认应用程序,仍然会显示选择器,这正是您想要的。 这是一篇博客文章,更详细地解释了它。 或者直接复制粘贴代码: /** * Attempts to start an activity to handle the given intent, excluding activities of

2021-11-30 19:10:02    分类:技术分享    android   android-activity   android-intent   intentfilter

如何在一个应用程序之间发送数据到android中的另一个应用程序?(How to send data between one application to other application in android?)

问题 我尝试通过 Android 中的 Intent 在App1到App2之间发送数据 我使用了此代码,但无法解决我的问题。 App1 主活动: Intent i2 = new Intent("com.appstore.MainActivity"); i2.setPackage("com.appstore");//the destination packageName i2.putExtra("Id", "100"); startActivity(i2); App2 主活动: Bundle data = getIntent().getExtras; if(data!=null){ String myString = b.getString("Id"); } Manfiest App2 主活动: <activity android:name=".MainActivity"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> <intent-filter> <action android:name="android.intent.action

2021-11-30 14:35:22    分类:技术分享    android   android-intent   android-activity   intentfilter

发现 NFC_TECH 时打开 Android Activity(Open Android Activity when NFC_TECH is discovered)

问题 我正在开发一个应用程序,该应用程序在扫描不包含任何数据(?)的 NFC 标签时需要打开 ID 。 数据库中的项目应该由该 ID 标识,我不应该在这些标签上写任何东西 我可以通过调用让设备在前台模式下扫描标签 enableForegroundDispatch() 它以包含所需数据EXTRA_ID新意图返回给我 但是,当应用程序在后台并且我扫描标签时,我可以听到扫描完成的系统声音,但应用程序没有打开 我的应用程序清单上有以下意图过滤器 <intent-filter> <action android:name="android.nfc.action.TAG_DISCOVERED"/> </intent-filter> <intent-filter> <action android:name="android.nfc.action.TECH_DISCOVERED"/> </intent-filter> <meta-data android:name="android.nfc.action.TECH_DISCOVERED" android:resource="@xml/nfc_tech_filter" /> nfc_tech_filter.xml 包含 Android 支持的所有标签 <resources xmlns:xliff="urn:oasis:names:tc:xliff

2021-11-29 17:32:27    分类:技术分享    android   android-intent   nfc   intentfilter   mifare

两个 NFC 标签分别链接到项目中的两个不同活动?(Two NFC tags linking to two different activities each in a project?)

问题 我正在做一个 NFC 应用程序,想知道这种情况是否可能: 比如说,我在一个项目中有 2 个 NFC 标签和 2 个活动。 通过在NFC A中写入MIME类型来编写NFC A以打开Activity A application/com.example.hello 在项目的清单文件中,活动 A 具有以下意图过滤器: <intent-filter> <action android:name="android.nfc.action.NDEF_DISCOVERED" /> <data android:mimeType="application/com.example.hello" /> <category android:name="android.intent.category.DEFAULT" /> </intent-filter> 所以,这工作得很好。 我将添加另一个 NFC 标签和另一个活动。 NFC B 写入开启Activity B 现在,我应该如何将 MIME 类型写入 NFC B 并为活动 B 设置意图过滤器? 考虑到活动 A 和活动 B 都在一个项目和包中。 如果我在 NFC A 和 B 中为活动 A 和 B 编写相同的 MIME 类型,我将被问及在点击时打开哪个活动,而我不想要那样。 回答1 一种方法可能是在您的清单中有两个 MimeType。 然后,您将这些

2021-11-28 18:49:27    分类:技术分享    android   android-intent   nfc   intentfilter   ndef

如何禁用AIRPLANE MODE平板电脑支持4.4.2(How Do I Disable AIRPLANE MODE tablet supports 4.4.2)

问题 我必须禁用AIRPLANE MODE和DATE TIME SETTINGS在我的应用程序,为我所用,这些意图过滤器,但none他们的works对我来说 <uses-permission android:name="android.permission.WRITE_SETTINGS" /> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.HOME" /> <category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> <intent-filter> <action android:name="android.settings.AIRPLANE_MODE_SETTINGS" /> <category android:name="android.intent.category.DEFAULT" /> </intent-filter> <intent-filter> <action

2021-11-28 17:37:51    分类:技术分享    android   android-manifest   intentfilter   airplane   android-settings

如何在浏览器中单击 URL 时打开 android 应用程序(How to open android application when an URL is clicked in the browser)

问题 当用户单击具有我的域名的链接时,我必须打开我的 android 应用程序。 例如,假设我的域是 abc.com,并且我已在我的 Facebook 页面上发布了此链接。 当我的一位朋友(在他的设备中安装了我的应用程序)单击链接(在设备的浏览器中)时,我应该能够在我的应用程序内的 web 视图中打开我的网站。 我不确定如何进行这项工作,但意图过滤器会起作用吗? 如果是这样,有人可以给我一段代码吗? 回答1 您必须在单击 url 时应启动的活动中定义自定义意图过滤器。 假设您想在用户单击网页上的 http://www.example.com/ 链接时启动 FirstActivity。 将此添加到您在 Manifest 中的活动: <activity android:name=".FirstActivity" android:label="FirstActivity"> <intent-filter> <action android:name="android.intent.action.VIEW"></action> <category android:name="android.intent.category.DEFAULT"></category> <category android:name="android.intent.category.BROWSABLE"><

2021-11-28 16:00:44    分类:技术分享    android   android-webview   intentfilter

Intent-Filter for Whatsapp -> share image

If you try to share an Image with Whatsapp, it will give you a list where you can choose: like Camera,Gallery etc. now i would like to place my app in this list. I Saw some apps like "paint for whatsapp" where this was possible. I tried "android.media.action.IMAGE_CAPTURE" but this only replaces the System-Camera. I want to have a new point in the List. Thanks in advance Jonas

2021-11-28 11:12:37    分类:问答    android   android-intent   intentfilter   whatsapp

使我的 android 应用出现在共享列表中 [重复](Make my android app appear in the share list [duplicate])

问题 这个问题在这里已经有了答案: 如何让我的 Android 应用出现在另一个特定应用的共享列表中(7 个回答) 7年前关闭。 如何让我的应用程序出现在这里? : 一些信息使我将此代码放在我的Manifest (请参阅下面的代码),但它不起作用。 问题是,如果我想从我的画廊共享图像,我想在共享列表中的应用程序列表中看到我的应用程序。 任何指针? 请帮忙。 <activity android:name="com.my.package.MyIntent" android:label="@string/app_name" android:screenOrientation="portrait" > <intent-filter> <action android:name="android.intent.action.ALL_APPS" /> <category android:name="android.intent.category.DEFAULT" /> <data android:mimeType="text/plain" /> </intent-filter> </activity> 谢谢 :) 回答1 试试这个方法 <activity android:name="yourActivity" android:icon="@drawable/ic_launcher"

2021-11-28 06:38:51    分类:技术分享    android   android-intent   share   intentfilter