Articles of intentfilter

使用intentfilter重定向Android webview

我有一个特定的url,我希望从带有意图filter的网页视图重定向到我的应用中的特定活动。 如何在Android上实现我自己的URI方案描述了如何为浏览器页面执行此操作,但是当通过webview访问该URL时,此相同的intentfilter不起作用。 还有什么需要添加到此intentfilter以捕获这些webview链接? `

Android尝试validation主机,尽管android:autoVerify =“false”

在我的应用程序中,我有3个活动,MainActivity,SecondaryActivity和TertiaryActivity。 我希望SecondaryActivity成为Android 6上特定域的默认应用程序链接处理程序,如本指南中所述 。 同时,我希望另一个活动TertiaryActivity能够处理来自另一个域的链接,但不能成为默认处理程序,因为我不拥有该域。 这是我的AndroidManifest来说明: 我通读了这篇关于应用程序链接的详尽指南 ,解释了Android上应用程序链接处理和应用程序validation的机制,这里是我在logcat中看到的与应用程序validation相关的消息: 03-25 17:54:45.640 1481-1481/com.google.android.gms D/IntentFilterVerificationReceiver: Received ACTION_INTENT_FILTER_NEEDS_VERIFICATION. 03-25 17:54:45.644 1481-30947/com.google.android.gms I/IntentFilterIntentService: Verifying IntentFilter. verificationId:12 scheme:”https” hosts:”tertiary.com secondary.com” package:”com.antonc.applinktest”. 03-25 17:54:46.762 1481-30947/com.google.android.gms I/IntentFilterIntentService: Verification 12 complete. Success:false. Failed hosts:tertiary.com,secondary.com. 正如你所看到的,它试图validationsecondary.com和tertiary.com,即使我为tertiary.com上的intentfilter明确设置了android:autoVerify =“false”! 这是Android的错误吗? 我如何确保IntentFilterIntentService仅validation我已设置android:autoVerify =“true”的intentfilter并将另一个删除?

getBoolean(EXTRA_NO_CONNECTIVITY)始终返回false

有一次,我有一个问题,你们真的很有帮助。 所以我再次遇到另一个问题……:/ 我正在运行一个扩展BroadcastReceiver的自定义NetworkReceiver。 我想检测手机何时有互联网连接,以便我可以随时启动服务。 我已经阅读了很多主题和所有主题或多或少的提示,以下代码对我不起作用: public class NetworkReceiver extends BroadcastReceiver { private static final String tag = NetworkReceiver.class.getSimpleName(); @Override public void onReceive(Context context, Intent intent) { Log.i(tag,”****** NetworkReceiver // onReceive()”); boolean noConnection = intent.getBooleanExtra(ConnectivityManager.EXTRA_NO_CONNECTIVITY, false); if (intent.getAction().equals(ConnectivityManager.CONNECTIVITY_ACTION)) { Log.i(tag,”****** NetworkReceiver // Network Down?: ” + intent.getBooleanExtra(ConnectivityManager.EXTRA_NO_CONNECTIVITY, false)); } // TODO Bug: Never stops the service. […]

“私人”意图filter仅供自我应用使用

我创建了一个文件浏览器并注册 但我不希望我的内部文件浏览器开始显示供用户选择何时另一个应用程序发送具有“可打开”类别的隐式意图。 我怎么能这样做? 我应该创建自己的动作名称吗? 我没有明确的,因为我希望用户在我的应用程序中选择其他文件浏览器。

使用适用于Android的Xamarin Mono中的intentfilter处理特定URL

我试图让我的活动处理url采用mydomain.com或www.mydomain.comforms的http和https方案。 目前我的活动的IntentFilter属性如下所示: [IntentFilter( new[] { Intent.ActionView }, Categories = new[] { Intent.CategoryDefault, Intent.CategoryBrowsable }, DataHost = “mydomain.com”, DataScheme = “http” )] 这在清单中生成了这个,并且似乎不适用于任何所需的url配置: 如何更改此属性,以便我的活动将处理http(s)://(www。)mydomain.comforms的所有url?

记录Android中已启动的活动

我想知道如何记录已启动的活动以进行日志记录。 我必须订阅什么广播接收器来拦截这个意图? 或者使用什么意图filter? 我想我必须在后台使用某种types的长期运行服务。 我的第一个目标是跟踪主要焦点应用程序,某种历史。 想要得到一些类似的: – 推出app com.android.xxx – 推出应用程序xx.yy.zz – 应用程序xx.yy.zz失去了焦点 提前致谢 编辑 – 只需看看该应用程序MyAppRank ,这完全是我的意思

BroadcastReceiver – onReceive未被调用

我通过以下方式发送广播: Intent intent = new Intent(“com.usmaan.myApp.DATA_RECEIVED”); intent.putExtra(“matchId”, newRowId); LocalBroadcastManager.getInstance(mContext).sendBroadcast(intent); 这是包装运行上述广播的AsyncTask的服务: 在我的Activity中,我在onResume注册一个Receiver : IntentFilter intentFilter = new IntentFilter(“com.usmaan.myApp.DATA_RECEIVED”); registerReceiver(mDataReceiver, intentFilter); `BroadReceiver看起来像这样: private class DataReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { final long matchId = intent.getLongExtra(“matchId”, 0); Toast.makeText(LaunchActivity.this, “” + matchId, Toast.LENGTH_LONG); } } onReceive永远不会被解雇。 我究竟做错了什么?

Android浏览器Facebook重定向并不总是触发URL的意图

我是一个真正的泡菜,迫切需要一些关于我遇到的关键问题的帮助。 我花了几个月的时间编写一个HTML5应用程序/网站以及一个原生的Android应用程序,它只是HTML5网站的WebView包装器。 该应用程序的核心function之一是用户可以将应用程序特定的URL共享到Facebook和Twitter等,以便他们的朋友可以关注共享URL,这将在我的浏览器中打开我的应用程序的HTML5版本,或者如果它们是最重要的在Android上,他们安装了我的原生Android应用程序,他们会在我的应用程序中打开。 这是一个相当长的复杂问题,所以为了简化,我将在这篇文章中一致地使用某些特定术语: “MyApp用户”是安装了原生Android应用的Android设备用户 “非MyApp用户”是未安装原生Android应用的Android设备用户 “股票浏览器用户”是使用股票浏览器的股票Android用户 “非股票浏览器用户”使用非股票浏览器的Android用户(注意三星Galaxy SII股票“互联网”应用程序被视为非股票) 在Android上选择“应用程序对话框”操作系统对话框,询问用户他们想要打开action / intent / url / document的应用程序,以及他们是否要默认使用此应用程序 我的AndroidManifest.xml包含以下内容…… 在任何正常情况下测试时,这都可以完美运行。 例如,如果“MyApp用户”跟随到http://myapp.com/sharedpage的直接链接,则会出现“选择应用程序对话框”。 太棒了,我确实正确配置了我的AndroidManifest.xml。 然而事情并不总是在关键的Facebook共享场景中工作。 它并不总是有效,因为Facebook的原生Android应用程序和Facebook的移动网站(http://m.facebook.com)都没有直接链接到共享URL,而是通过Facebook重定向页面链接。 例如,如果共享http://myapp.com/sharedpage,Facebook将最终提供以下URL: http://m.facebook.com/l.php?u=http%3A%2F%2Fmyapp.com%2Fsharedpage&h=EAQGpLtuF&enc=AZMXYZg7XwQ39zlWkKSGnLw62lEbtbMeWFmRwRZINoOcg0UgZe3fUVPgqQzV1nuTipSVnquV3a3ovqu7HQFUf3bb3ZJ1gYG8dEOJXzPf6RJGflf9_x8w-6CCXu8G2VZqgfD7lx6EbLTSKLnF56_o5khHybycPUlhpdfLsk6M9muer4jMOmPK6_kfjTq2gvnYNNpStcF0ilJD6nacPqx_1xsdYkUMpKYWbJfSo7qqv1S5xT5KRaLPxl8zmAkYc0FhwyTdn-tUGwRBbbdM4QCd2Z75Tb_VeJG3LvbDwFAbp6G3kH3LOSxVtTd5MST4pUW8xmhNeTUVBVXV16OD27QcsSWOlEfL72fxn11PDE5s4WWsXMnwhDJLUAWOAna7lziBnWzjZdlQK_amI9nhcegaOLDLNFCp125rZS3jxFXf7gtF9g0BsmnPZ2Gjxkc6UgQXhEYldllq9nwpShGbnZDlSg0_&s=1 如果“MyApp用户”跟随其中一个Facebook链接,则可能会发生以下两种情况之一,具体取决于他们使用的浏览器… MyApp股票浏览器用户: 如果用户已经安装了Android安装并使用了现有的Android浏览器,那么事情就会起作用,因为会发生以下事件…… Intent将触发FB l.php URL FB URL在ANDROID STOCK BROWSER中打开 FB l.php已加载并启动REDIRECT到http://myapp.com/sharedpage Intent将触发http://myapp.com/sharedpageurl “选择应用程序对话框”提示用户在我的NATIVE APP或浏览器中打开 MyApp非浏览器用户: 但是如果用户…… 已安装并使用非股票的Android浏览器,例如Dolphin HD / mini,Opera Mobile / Mini等,或者 有一个制造商定制的Android版本(例如在三星Galaxy SII等),因此有一个定制的浏览器 ……然后这是主要问题,因为发生了以下事件…… Intent将触发FB l.php URL FB […]

Android:BroadcastReceiver应用程序安装/卸载

我想安装一个apk文件并设置广播接收器,以便捕获有关安装状态的信息。 我准备了一个BroadcastReceiver类: public class newPackageReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { Log.d(“DEBUG”,” test for application install/uninstall”); } } 在主要活动中,我首先注册一个新的接收器对象,然后实例化应用程序安装按钮。 public void onCreate(Bundle savedInstanceState) { … IntentFilter filter = new IntentFilter(); filter.addAction(Intent.ACTION_PACKAGE_ADDED); filter.addAction(Intent.ACTION_PACKAGE_CHANGED); filter.addAction(Intent.ACTION_PACKAGE_DATA_CLEARED); filter.addAction(Intent.ACTION_PACKAGE_INSTALL); filter.addAction(Intent.ACTION_PACKAGE_REMOVED); filter.addAction(Intent.ACTION_PACKAGE_REPLACED); filter.addAction(Intent.ACTION_PACKAGE_RESTARTED); receiver = new newPackageReceiver(); registerReceiver(receiver, filter); … dlButton.setText(R.string.dl_button); dlButton.setOnClickListener(new AppliDownloadOnClickListener(this )); @Override public […]

Android通过Intent启动或带来另一个应用程序

我无法让这个工作,这里快速概述了这个想法。 首先,我无法改变这背后的逻辑,这是来自客户的特定要求,我意识到使用任何工具,例如AnyCut,它可以被绕过,但这并不重要。 我的客户提供了一套应用程序,我们的想法是,所有套件应用程序都将从“仪表板应用程序”启动,因此我只在主启动器中显示仪表板应用程序而不是所有应用程序图标。 让我们拿两个应用程序来解决这个问题。 仪表板应用程序(A)和接收应用程序(B)。 我想在应用B上建立一个意图filter(我认为),这样每当我进入应用程序A,然后单击应用程序B图标时,该应用程序将被启动或从它所允许的位置(从前面开始)启动。 这有可能吗? 如果是这样,我该怎么办? 我设法通过在应用程序中专门启动一个活动来启动它: Intent i = new Intent(); i.setClassName(“PACKAGE_NAME”,”SPECIFIC_CLASS”); startActivity(i); 但这不是我想要的行为,因为它总是在相同的位置启动应用程序B. 提前完成,斯特凡诺 编辑:添加了一些新信息。 我正在看DDMS。 如果我从头开始通过主要的Android启动器启动应用程序的意图与我按下主页按钮时的意图完全相同,然后只将应用程序放在前面,即将进行的任何活动。所以我试图重复,不成功地直到现在,这个意图。 INFO/ActivityManager(1292): Starting activity: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=com.example.package/.uiPackage.Activity} 这就是AnyCut的做法 Intent { act=android.intent.action.VIEW flg=0x10000000 cmp=com.example.package/.uiPackage.Activity bnds=[125,242][235,360]} 知道如何创建完全相同的意图吗? 我甚至无法在Intent API中find该标志。