Articles of android intent

Android发送带附件的电子邮件并不总是有效

我正在使用ContentProvider发送附件的电子邮件。 首先,我将文件写入缓存目录。 然后我创建一个电子邮件,其中包含内容提供商可以find的每个文件的URL 然后我使用ACTION_SEND_MULTIPLE意图开始一个新活动。 我选择gmail然后点击发送按钮。 这有时会起作用,它似乎在一段时间内第一次起作用,但在后续尝试之后不起作用……但它并不总是那样。 当它不起作用时,电子邮件停留在gmail中发送。 这发生在2.3.3和4.0.1上,在gmail客户端打开邮件并点击发送按钮,因此经常导致消息几乎立即发送,但不是每次都发送。 打开与Google云端硬盘的意图具有与gmail相同的行为。 到目前为止,使用内置的Exchange邮件客户端打开Intent始终有效。 以下是发送电子邮件的代码: Intent sendIntent = new Intent(Intent.ACTION_SEND_MULTIPLE); sendIntent.putExtra(Intent.EXTRA_EMAIL, exportParams.emailAddresses); sendIntent.putExtra(Intent.EXTRA_SUBJECT, “Leader Activity Report”); sendIntent.putExtra(Intent.EXTRA_TEXT, “Leader Activity Report, see attached file.”); Uri fileUri = CachedFileProvider.createFileUri(result.fileName); if (L.dbg()) L.dbg(“Using uri:” + fileUri.toString()); ArrayList uris = new ArrayList(); uris.add(fileUri); Uri fileUri2 = CachedFileProvider.createFileUri(result.fileNameDayByDay); uris.add(fileUri2); if (L.dbg()) L.dbg(“Using uri2:” + […]

运行第二个活动时出错:必须导出活动或包含intent-filter

我似乎无法启动我的应用程序。 它给我一个这样的错误:“运行第二个Activity时出错:必须导出活动或包含一个intent-filter”。 我的清单有什么问题吗?

杀死另一个活动

我有两个活动A和B. B是透明的通过活动,可以看到A. 我想通过按下按钮A杀死B. 这是我到目前为止所尝试的内容: B obj=new B(); obj.finish(); 我创建了B的对象并试图杀死它。 那没用。 intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); intent.putExtra(“keep”, true); startActivity(intent); 这段代码应该做的是清除最顶层的活动,即B并再次调用B,除非这次我传递的值使得B在几秒钟后自杀。 由于某种原因,这只会增加活动的更多实例。 或者至少我认为发生的事情是因为屏幕由于许多透明的活动而变得像素化。 这是我的清单: 当我在显示活动时按下按钮并且第二次杀死按钮时,我该怎么办呢? 创作部分显然得到了照顾。 我的活动Bpopup,我想杀死它,因为B在顶部。 编辑 我用checkBox尝试了这个,这是代码: enable.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View arg0) { // TODO Auto-generated method stub finishActivity(0); Intent intent = new Intent(A.this, B.class); if (enable.isChecked()) { intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); intent.putExtra(“keep”, true); intent.putExtra(“value”, 10); startActivityForResult(intent, 0); } […]

Android:与内置应用程序共享时无法获取正确的文本

我使用了以下代码。 Intent share = new Intent(android.content.Intent.ACTION_SEND); share.setType(“text/plain”); share.putExtra(Intent.EXTRA_SUBJECT, subject); share.putExtra( Intent.EXTRA_TEXT, “i have just visited http://www.google.com”); startActivity(Intent.createChooser(share, “Share Sydneyho! with your friends via”)); 当我选择gmail它会显示在Intent.EXTRA_TEXT写的Intent.EXTRA_TEXT但是当我选择facebook它的完全不同的消息,我不知道它来自何处。 请帮忙!

有没有办法从不扩展Activity类的类调用`overridePendingTransition`?

我正在使用另一个类在后台运行一些东西,同时显示主要活动,并将该活动的上下文传递给此背景类。 我正在从这个后台类开始另一个活动,但是我无法在这里调用overridePendingTransition ,因为对于typesBackgroundClass,“方法overridePendingTransition(int,int)是未定义的。” public class GetUPC extends AsyncTask { @Override protected void onPreExecute() { … } @Override protected Void doInBackground(Void… arg0) { … boolean dairy; if(theDairy.equals(“N”)) { //milk test dairy=true; } else { dairy=false; } //depending on if there is a warning it will either display the warning screen or skip it if(dairy) { Intent […]

应用程序处于停止状态时接收Android GCM通知

在我们的一个使用GCM的应用程序上,我们一直在收到有关应用程序被杀后应用程序停止接收通知的报告。 再次启动应用程序时,通知显示正常。 经过调查,我们发现这是由于Android 3.1上的这一变化: 请注意,系统将FLAG_EXCLUDE_STOPPED_PACKAGES添加到所有广播意图。 这样做是为了防止来自后台服务的广播无意或不必要地启动已停止的应用程序的组件。 后台服务或应用程序可以通过将FLAG_INCLUDE_STOPPED_PACKAGES标志添加到应允许激活已停止的应用程序的广播意图来覆盖此行为。 ( Android 3.1更改 ) 当我收到通知时,我检查了GCM触发的意图,我注意到确实设置了FLAG_EXCLUDE_STOPPED_PACKAGES。 这意味着在Android 3.1+上运行我们的应用的所有用户一旦杀死他们的应用就会停止接收通知,直到他们自己重启。 (Pre-Android 3.1工作得很好)。 由于GCM框架本身触发了intent,我们无法更改在其上设置的标志,因此我们正在寻找另一种解决方法。 所有的想法都表示赞赏

如何在Android中获取文件的绝对路径?

btnimport.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent fileintent = new Intent(Intent.ACTION_GET_CONTENT); fileintent.setType(“*/*”); try { startActivityForResult(fileintent, requestcode); } catch (ActivityNotFoundException e) { } } });` 我正在尝试在我的Android应用程序中导入sky.csv文件。 但是,当我选择文件时,我会得到: IO例外:打开失败:ENOENT(没有这样的文件或目录) 我将检查路径: 日志>内容://com.android.externalstorage.documents/document/38F0-D5E4%3ADCIM%2Fsky.csv我正在使用这种方法获取路径 protected void onActivityResult(int requestCode, int resultCode, Intent data) { if (data == null) return; switch (requestCode) { case requestcode: Uri filepath1 = data.getData(); […]

按下后跳过返回直接父活动

我正在处理的Android应用中遇到一个小问题: 有三个活动,即A,B,C,调用按以下顺序排列:A – > B – > C.在C中,当我按下BACK按钮时,它应该返回A [默认情况下不是B ]。 按下A中的BACK将退出程序。 我试图从C调用一个意图到A.但是在这种情况下,调用调用进入循环:A – > B – > C – > A,因为新活动被推到堆栈顶部。 结果,当在A处按下BACK时,不是退出[A是开始],而是进入C然后是B,然后返回到不必要的圆圈中的A. 如果有人能够提供更好的方法来解决这个循环的场景,那将是很棒的!

如何测试Google App邀请

我目前正在实施Google的App Invites ,我想知道测试全新安装的最佳方法是什么。 我可以用适当的深层链接广播一个INSTALL_REFERRER事件,如下所示: adb shell am broadcast -a com.android.vending.INSTALL_REFERRER -n /. –es “referrer” “test_referrer=test” 但是这将通过推荐数据发送通用广播。 目前有一种方法可以广播一个INSTALL_REFERRAL ,它还包含相应的AppInviteReferral数据吗? 深入研究来源显示, com.google.android.gms.appinvite.REFERRAL_BUNDLE作为意图的一部分包含在内,但我不确定如何将其构建为广播的一部分。 编辑我在这里测试广播时创建了一个单独的,更一般的关于使用bundle extras的问题

如何使用Intent打开FB应用程序并在FB App中显示类似页面?

实际上我正在使用我的应用程序中的Intent调用Fb应用程序并显示相似页面如果用户有Fb应用程序然后我使用应用程序显示相似页面,否则我在浏览器中显示相似页面但在fb应用程序中用户不是登录意味着它显示fb登录页面然后登录后它显示页面而不是像页面你能帮我解决这个答案:-)现在我正在使用这个代码 try { context.getPackageManager().getPackageInfo(“com.facebook.katana”, 0); return new Intent(Intent.ACTION_VIEW, Uri.parse(“fb://page/1086017928736241”)); } catch (Exception e) { return new Intent(Intent.ACTION_VIEW, Uri.parse(“https://www.facebook.com/Animgeek”)); }