Articles of android intent

Google Play音乐占用了所有的ACTION_MEDIA_BUTTON意图吗?

当发送带有ACTION_MEDIA_BUTTON意图的sendOrderedBroadcast(我模仿用户点击蓝牙耳机上的播放button)时,Google Play音乐将打开并播放上一个播放的专辑,而不是前台音乐播放应用程序。 如果我将其更改为sendBroadcast,Google Play音乐和当前的音乐播放应用程序(在我的案例中为潘多拉盒型拼版软件)都将制作播放button。 这只发生在Android 4.0及以上 。 是玩音乐霸占这个意图(一个bug)? 你是否怀疑潘多拉盒型录音机并没有注册成为当前的媒体button处理程序: http : //android-developers.blogspot.com/2010/06/allowing-applications-to-play-nicer.html 有没有一种方法可以将这个意图指向目前的音乐播放应用程序? 这是我的代码: public void broadcastMediaIntent(MediaIntent intentType){ long eventtime = SystemClock.uptimeMillis(); Intent downIntent = new Intent(Intent.ACTION_MEDIA_BUTTON, null); Intent upIntent = new Intent(Intent.ACTION_MEDIA_BUTTON, null); KeyEvent downEvent = null; KeyEvent upEvent = null; switch(intentType){ case NEXT: downEvent = new KeyEvent(eventtime, eventtime, KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_MEDIA_NEXT, 0); upEvent = […]

onActivityResult永远不会被称为Phonegap Cordova

我正在使用ZXing作为库项目的PhoneGap条码扫描器插件。 我有一个在Galaxy Tab 2(7“)上完美工作的代码,相同的代码在Galaxy S3上不起作用。 问题:当ZXing CaptureActivity扫描条形码时,只需完成CaptureActivity和Calling活动就不会返回onActivityResult方法。 MainFest。 <activity android:name=".activity.MainActivity" android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale" android:label="@string/app_name" android:theme="@android:style/Theme.Black.NoTitleBar" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name="com.google.zxing.client.android.CaptureActivity" android:configChanges="orientation|keyboardHidden" android:screenOrientation="landscape" android:theme="@android:style/Theme.NoTitleBar.Fullscreen" android:windowSoftInputMode="stateAlwaysHidden" > <intent-filter> <action android:name="com.phonegap.plugins.barcodescanner.SCAN" /> <category android:name="android.intent.category.DEFAULT" /> </intent-filter> </activity> </application> MainActivity.java public void startActivityForResult(CordovaPlugin command, Intent intent, int requestCode) { this.activityResultCallback = command; this.activityResultKeepRunning = […]

意图在Android中采取video

我只需要使用前置摄像头从我的应用程序中获取video。 我正在使用意图执行此操作。 Intent intent = new Intent(MediaStore.ACTION_VIDEO_CAPTURE); intent.putExtra(MediaStore.EXTRA_OUTPUT, videoUri); intent.putExtra("android.intent.extra.durationLimit", 30); intent.putExtra("android.intent.extras.CAMERA_FACING", 1); //to open front facing camera startActivityForResult(intent, VIDEO_CAPTURE); 当我运行应用程序时,我可以使用前置摄像头拍摄video。 但是,假设当我点击我的录制videobutton,相机视图打开。 在那个用户去和改变相机后面的相机,然后总是我的意图是打开后方摄像头之后。 它没有走线 intent.putExtra("android.intent.extras.CAMERA_FACING", 1); 有人可以告诉我这是什么问题,是否可以用意向解决?

Android使用expandableListView显示列表

我遵循这个例子教程,并开发了一个示例应用程序http://www.androidhive.info/2013/07/android-expandable-list-view-tutorial/ 如果我点击核心,我想加载一个更多的列表在同一个屏幕下的核心 ,我怎么可以做到这一点?使用我的下面的代码我能够加载在另一个屏幕上的子列表,帮助? 我的ChildClickListener的代码在这里: @Override public boolean onChildClick(ExpandableListView parent, View v, int groupPosition, int childPosition, long id) { // TODO Auto-generated method stub Log.d("onChildClick", "onChildClick"); String position = (String) parentItems.get(groupPosition); Log.d("position", position); String child = listDataChild.get(position).get(childPosition); Log.d("child", child); if (child.equalsIgnoreCase("Core")) { ArrayList<String> parentItems = new ArrayList<String>(); HashMap<String, List<String>> listDataChild = new HashMap<String, List<String>>(); ArrayList<String> childItems […]

如果活动由同一个class级实施,如何回到特定的活动

要实现向上导航,我想回到历史堆栈上的特定活动。 如果堆栈中的活动是由不同的类来实现的,它就是这样工作的(假设我在堆栈上有活动A,B和C,并想返回活动A: protected void onUpPressed() { Intent intent = new Intent(this, A.class); intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP); startActivity(intent); finish(); } Android会popup堆栈中的活动,直到意图指定的活动是最顶层(在这种情况下由A类实现的活动)。 但是,我的应用程序在同一个类实现的堆栈上有几个活动。 这是因为它们显示的是相同types的数据,但对于不同的对象。 它们的启动意图是指定实现活动的类和要显示的对象(在extras包中或data属性中)。 现在我正在查找代码,再次从历史堆栈中popup几个活动,直到匹配活动最顶层。 如果我扩展上面的代码,并额外设置额外捆绑或数据属性,它不起作用。 Android始终与指定类实现的第一个活动相匹配,并且回溯得不够远。 extras包和data属性被忽略。 protected void onUpPressed() { Intent intent = new Intent(this, A.class); intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP); intent.setData(Uri.parse("myapp:" + rootId)); startActivity(intent); finish(); } 那么我怎样才能回到具体的活动呢? Android比较哪些意图字段来确定它是否find了期望的活动?

通过Twitter应用程序分享图像的URL – Android

我试图通过Twitter应用程序分享一些文字和图像。 图片来源是url。 以下是我的代码: sharingIntent = new Intent(android.content.Intent.ACTION_SEND); sharingIntent.setType("*/*"); sharingIntent.putExtra(android.content.Intent.EXTRA_TEXT, "I am reading this publication, check it out here: "+bookmark_url+""); sharingIntent.putExtra(android.content.Intent.EXTRA_STREAM, Uri.parse("http://example.com/images/thumbs/file_name.jpg")); 但只有文本通过Twitter应用程序分享。 我也收到一条消息,说“ 图片无法加载 ”。 这个代码有什么问题?

Google Analytics(分析)V4广告系列衡量testing不起作用

我开始使用Google Analytics(分析)V4实施广告系列衡量,请参阅https://developers.google.com/analytics/devguides/collection/android/v4/链接。 在https://developers.google.com/analytics/solutions/testing-play-campaigns中提到的“testingCampign Measurement”时遇到问题。 每当我的日志显示“找不到活动数据” 我将Google Play服务(Rev​​:18)导入了我的工作区,并在我的项目中提到了它 在我的清单文件中添加下面的行 <uses-permission android:name="android.permission.INTERNET"></uses-permission> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission> <meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version" /> <meta-data android:name="com.google.android.gms.analytics.globalConfigResource" android:resource="@xml/global_tracker" /> 也在代码下面 <service android:name="com.google.android.gms.analytics.CampaignTrackingService"/> <receiver android:name="com.google.android.gms.analytics.CampaignTrackingReceiver" android:exported="true"> <intent-filter> <action android:name="com.android.vending.INSTALL_REFERRER" /> </intent-filter> </receiver> 稍后在res-> xml下创buildglobal_tracker.xml文件。 以下是我的xml文件 <?xml version="1.0" encoding="utf-8" ?> <resources xmlns:tools="http://schemas.android.com/tools" tools:ignore="TypographyDashes" > <integer name="ga_sessionTimeout">300</integer> <!– Enable automatic Activity measurement –> <bool name="ga_autoActivityTracking">true</bool> <bool name="ga_debug">true</bool> […]

为什么人们喜欢在Android中配对CLEAR_TOP和SINGLE_TOP

标志FLAG_ACTIVITY_CLEAR_TOP查找包含活动X的任务,并清除顶部以使X恢复到其恢复状态。 FLAG_ACTIVITY_SINGLE_TOP标志只会保留顶部的一个X实例。 因此,如果我已经使用了CLEAR_TOP ,我不需要包含SINGLE_TOP :这是因为CLEAR_TOP的行为包含了SINGLE_TOP的行为。 那么为什么有这么多的样本代码将这两个包含在一起? 是否因为这些开发人员不了解CLEAR_TOP的全部function? 再一次,几乎我在网上看到的每个例子都包括在一起。 为什么冗余? 例如,如果我在任务W->X->Y->Z上为X调用CLEAR_TOP ,那么我得到W->X 另一方面,如果我要在任务W->X->Y->Z上给X调用SINGLE_TOP,那么我将以W->X->Y->Z->X ,如果我打电话给它为ZI将得到W->X->Y->Z 所以真的CLEAR_TOP没有增加任何方程式:这就像添加0到其他值。

Android意图有时“处理”,而不是ACTION_SEND

我的应用程序应该处理共享的文本。 例如来自亚马逊应用程序的URL。 所以我添加了以下intent-filter到我的主要活动中: <intent-filter> <action android:name="android.intent.action.SEND" /> <category android:name="android.intent.category.DEFAULT" /> <data android:mimeType="text/plain" /> </intent-filter> 在我的activity的onCreate函数中,我正在处理这样的意图: intent = getIntent(); if(intent.getAction() != null) { if (intent.getAction().equals(Intent.ACTION_SEND)) { if (intent.getType().equals("text/plain")) { onNavigationDrawerItemSelected(1); } } } 问题是,有时onCreate函数不会在共享操作之后被调用。 我检查了onResume方法,实际上这就是所谓的。 问题是intents行为不是“ACTION_SEND”,而是packagename.handled,并且不包含所需的信息。 这是为什么?

直接从联系人select器中select联系人

您好,我想从我们的默认联系簿意图中select一个联系人。 我尝试了几种方法来做到这一点。 请find下面的代码。 所有这些代码的问题是,他们打开一个中间文件屏幕,用户必须select联系人,而不是打开联系簿。 private void openContactIntent() { Intent intent = new Intent(Intent.ACTION_GET_CONTENT, ContactsContract.Contacts.CONTENT_URI); intent.setType(ContactsContract.CommonDataKinds.Phone.CONTENT_ITEM_TYPE); startActivityForResult(intent, REQ_CONTACT_DIRECTORY); } 我也试过了 Intent intent = new Intent(Intent.ACTION_PICK, ContactsContract.Contacts.CONTENT_URI); startActivityForResult(intent, PICK_CONTACT); 和 Intent intent = new Intent(Intent.ACTION_PICK); intent.setType(ContactsContract.Contacts.CONTENT_TYPE); startActivityForResult(intent, PICK_CONTACT); 我所看到的中间屏幕是