Articles of intentfilter

将应用程序与Googlesearch结果和Chrome集成

官方维基百科应用程序以某种方式做到这一点,在我的应用程序中,我使用标准的意图filter来听取导航维基百科url。 有没有办法与Googlesearch整合? 有没有可用的API,还是只适用于select的API?

为什么标签意图filter?

只是让我的手围绕意图filter,我注意到一个相当打击和小姐的方法标签意图filter使用android:标签在示例代码和其他在线来源,但尚未能够find明确的解释标签的目的。 任何人都可以指向正确的方向吗? 谢谢, 保罗

在我的N1启动后,我的BroadcastReceiver没有收到BOOT_COMPLETED的意图

我无法得到我的BroadcastReceiver onReceive方法使用BOOT_COMPLETED意图调用。 AndroidManifest.xml中 <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.jerrellmardis.umbrella" android:versionCode="4" android:versionName="1.0.3"> <application android:icon="@drawable/icon" android:label="@string/app_name" android:theme="@android:style/Theme.NoTitleBar"> <activity android:name=".activities.Umbrella" android:screenOrientation="portrait"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name=".activities.Preferences" android:label="@string/app_name" android:screenOrientation="portrait" /> <receiver android:name="com.jerrellmardis.umbrella.receiver.WeatherStartupReceiver"> <intent-filter> <action android:name="android.intent.action.BOOT_COMPLETED" /> </intent-filter> </receiver> <service android:name=".service.WeatherUpdateService"> <intent-filter> <action android:name="com.jerrellmardis.umbrella.service.WeatherUpdateService" /> </intent-filter> </service> </application> <uses-sdk android:minSdkVersion="3" /> <uses-permission android:name="android.permission.INTERNET" /> […]

Android – 注册一个广播接收器的两个意图?

我想知道是否有可能注册一个广播接收机接收两个意图? 我的代码如下: sipRegistrationListener = new BroadcastReceiver(){ @Override public void onReceive(Context context, Intent intent) { String action = intent.getAction(); if (SIPEngine.SIP_REGISTERED_INTENT.equals(action)){ Log.d("SETTINGS ", "Got REGISTERED action"); } if (SIPEngine.SIP_UNREGISTERED_INTENT.equals(action)){ Log.d("SETTINGS ", "Got UNREGISTERED action"); } } }; context.registerReceiver(sipRegistrationListener, new IntentFilter(SIPEngine.SIP_REGISTERED_INTENT)); context.registerReceiver(sipRegistrationListener, new IntentFilter(SIPEngine.SIP_UNREGISTERED_INTENT)); 每当我发送它时,我都会得到“注册意向”,但是我发送它的时候从来没有收到过“意向”。 我应该为未注意的目的build立另一个广播接收机吗?

Android应用程序更新问题

最近我一直在面对我的Android应用程序更新过程的问题。 简而言之,应用程序能够检查是否在服务器上传了更高版本的代码。 如果是,用户决定是否更新。 之后,该应用程序加载和标准安装开始: final Intent intent = new Intent(Intent.ACTION_VIEW); intent.setDataAndType(Uri.fromFile(new File(PATH_TO_APK)), "application/vnd.android.package-archive"); startActivity(intent) 问题是,当Android Intent完成安装,“理论上”活动与信息“应用程序已安装”,2个button“完成”,“打开”。 我写了“理论上”,因为到目前为止,我遇到了以下情况: 应用程序已安装,显示消息“应用程序已安装”的活动显示,用户单击“打开”,但没有任何反应(Android 2.3。*)或应用程序确实打开自己 – 这种行为是随机的。 应用程序已安装,消息“应用程序已安装”的活动显示,但突然消失。 试图绕过这个错误(?)我发现http://developer.android.com/reference/android/content/Intent.html#ACTION_PACKAGE_REPLACED 。 我实施的BroadcastReceiver,开始启动活动,让我们说这是一个合适的解决scheme。 <receiver android:name=\".MyReceiver\" > <intent-filter> <action android:name="android.intent.action.ACTION_PACKAGE_REPLACED" /> //Or from API 12 <action android:name="android.intent.action.ACTION_MY_PACKAGE_REPLACED" /> </intent-filter> </receiver> 这个解决scheme不得不被修改,因为具有较低API(低于12)的应用程序不能处理ACTION_MY_PACKAGE_REPLACED,所以我实现了API依赖的行为: 允许正常安装udpate应用程序,并通过“完成”/“打开”button(API <12)从Activity启动应用程序 在ACTION_MY_PACKAGE_REPLACED注意之后,通过MyReceiver启动更新应用程序。 这是我目前的解决scheme。 我的问题是: 为什么更新后的应用程序在安装后在API低于12的Android中单击“打开”后会随机打开? 为什么使用“完成”/“打开”button的活动在具有更高API的设备上消失? 我试图在安装前完成应用,但没有帮助。 我的解释是,在安装过程之后,一个新的软件包必须覆盖旧的软件包,所以旧的软件包必须被简单地删除,这是导致启动活动消失的主要原因。 正如我写的,这是我目前的解决scheme,我不满意。 如果有人能澄清这个问题,我将非常感激。 谢谢阅读。 编辑: […]

Android深层链接只能在一些网站上使用

我在我的应用程序中使用应用程序索引,但有时它没有正确接收来自Chrome的意图。 如果我从我的制作网站打开链接,它会通过chrome打开。 所以我创build了一个具有相同代码的testing网站。 但是,在这种情况下,我的应用程序正确地打开深层链接。 我找不到任何解释,因为它使用相同的代码在networking(但在不同的网站)和相同的Android应用程序。 这是我的意图filter: <intent-filter android:autoVerify="true"> <action android:name="android.intent.action.VIEW" /> <category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.BROWSABLE" /> <data android:scheme="https" android:host="soriabus-web.appspot.com" android:pathPrefix="/" /> </intent-filter> 这是我的button中的HTML代码: <a href="https://soriabus-web.appspot.com/parada/1/plaza-mariano-granados/true" "type="button" role="button" class="btn btn-primary"> Abrir Soria Bus </a> 如果我在此地址(制作)中打开链接,则会打开Play商店(链接的末尾是redirect到Google Play): https://soriabus-web.appspot.com/parada/1/plaza-mariano-granados 如果我打开其他地址(testing)的链接,它会打开我的应用程序correclty: https://central-splice-128620.appspot.com/parada/1/plaza-mariano-granados 我不明白为什么这些链接处理不同。 谢谢。 编辑: 是因为我在同一个网站里面有一个链接吗? https://soriabus-web.appspot.com/parada/1/plaza-mariano-granados => https://soriabus-web.appspot.com/parada/1/plaza-mariano-granados/playstore

无法接收UsbManager.ACTION_USB_DEVICE_ATTACHED / UsbManager.ACTION_USB_DEVICE_DETACHED的广播意图

我最近编写了一个USB主机应用程序,但是因为无法检测到设备连接/分离事件,所以被拦截,我按照http://developer.android.com/guide/topics/connectivity/usb/host .html并参考networking中的其他编码,经过几次检查,我仍然找不到问题。 我的debugging后,似乎UsbManager.ACTION_USB_DEVICE_ATTACHED / UsbManager.ACTION_USB_DEVICE_DETACHED意图没有发生,因为我尝试使用Context.sendBroadcast()发送一个定制的意图,我的BroadcastReceiver可以接收意图。 但是当我连接/分离USB设备时,BroadcastReceiver不运行。 我使用的手机是HTC One-X,我相信OTGfunction是正确的,因为鼠标function正常工作。 这是我的代码片。 @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.launcher); mUsbManager = (UsbManager)getSystemService(Context.USB_SERVICE); if(mUsbManager == null) { Log.d(TAG, "mUsbManager is null"); } // listen for new devices IntentFilter filter = new IntentFilter(); filter.addAction(UsbManager.ACTION_USB_DEVICE_ATTACHED); filter.addAction(UsbManager.ACTION_USB_DEVICE_DETACHED); // filter.addAction("MyTest"); registerReceiver(mUsbReceiver, filter); } BroadcastReceiver BroadcastReceiver mUsbReceiver = new BroadcastReceiver() { public void […]

Android Chrome自定义选项卡/ Fitbit Web API将不会redirect,如果应用程序已被授权。 (OAuth2.0的)

我打算创build一个第三方fitbit应用程序的闹钟同步。 不过,在注册我的应用程序时,我遇到了一些困难,即使您的客户端已经注册到应用程序,也更明确地获取访问令牌。 (考虑到用户重新安装他的应用程序的情况)。 我正在使用Chrome自定义选项卡(因为FitBit禁止使用WebView)来请求访问令牌: String url = "https://www.fitbit.com/oauth2/authorize?" + "response_type=token" + "&client_id=XXXXXX" + "&scope=activity"+ "&redirect_uri=fitbittester://logincallback"; customTabsIntent.launchUrl(MainActivity.this, Uri.parse(url)); redirect到使用意图filter定义的自定义scheme后: <activity android:name=".TestActivity" android:label="TestActivity" android:theme="@style/AppTheme.NoActionBar"> <intent-filter> <action android:name="android.intent.action.VIEW"/> <category android:name="android.intent.category.DEFAULT"/> <category android:name="android.intent.category.BROWSABLE"/> <data android:scheme="fitbittester" android:host="logincallback" /> </intent-filter> </activity> TestActivity应该启动,我将从给定的Intent获取我的AccessToken: public class TestActivity extends AppCompatActivity { String string; @Override protected void onNewIntent(Intent intent) { string = intent.getDataString(); } @Override […]

如何只使用意向filter来过滤特定的URL

我想过滤特定的url: http : //gaapa.cz/mobile/ * 但是这个filter是在每一个URL-ehta上都被解雇了吗? <intent-filter> <action android:name="android.intent.action.VIEW" /> <category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.BROWSABLE" /> <data android:host="gaapa.cz" android:path="/mobile/.*" android:scheme="http" /> </intent-filter>

Chrome自定义标签和意图filter

该应用程序具有活动来显示特定网站的内容,例如“example.com”。 因此,为了在应用程序中显示“example.com/product/123”的内容,我有意图过滤: <activity android:name=".LinkInterceptorActivity"> <intent-filter android:priority="999"> <action android:name="android.intent.action.VIEW" /> <category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.BROWSABLE" /> <data android:host="www.example.com" android:scheme="http" /> </intent-filter> </activity> 但在某些情况下,我必须在浏览器中显示这些内容,所以我决定使用chrome自定义选项卡,以使其更快,并保持用户在应用程序内。 我试图使用意图生成器来显示自定义选项卡中的url: new CustomTabsIntent.Builder().build().launchUrl(activity, url); 但它显示我'完成操作使用…'对话框,我看到我的应用程序和设备上的所有浏览器。 如果我select我的应用程序,它将跳转到循环并再次显示对话框,但是如果我selectchrome,则按预期工作。 所以问题是如何为Chrome自定义标签创build明确的意图?