Articles of android intent

与所有活动共享NavigationView?

我们如何与所有活动分享Drawer ? 在lister: onNavigationItemSelected的setNavigationItemSelectedListener我们可以获取id并导航到它。 我要找的是这样的: private void initDrawerLayout() { drawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout); NavigationView navView = (NavigationView) findViewById(R.id.navigation_view); navView.setNavigationItemSelectedListener(new NavigationView.OnNavigationItemSelectedListener() { @Override public boolean onNavigationItemSelected(MenuItem menuItem) { Intent intent; int id = menuItem.getItemId(); switch(id) { case R.id.home: case R.id.drawer_home: // call activity instead of adding/replacing fragment return true; case R.id.drawer_gallery: // call activity instead of […]

Androidurl覆盖不适用于重定向

我有一个我在我的Android应用程序中覆盖的url。 单击从电子邮件到该链接的链接会popup“ Intent Chooser对话框(“使用完成此操作”)。 但是,点击Chrome中的相同链接(在标签中)(在Android 4上)会将我重定向到该url,并且不会提供Intent Chooser 。 如果我将标记中的链接替换为指向Google Play商店( https://play.google.com )的链接,则点击该链接会再次popupIntent Chooser 。 谷歌Play商店和Chrome有什么特别之处,或者我在配置我的url时做错了什么? 有没有什么我可以在HTML中做这个工作? 这是 (重定向到url也不会popupIntent Chooser对话框,但我认为上面的情况更明确地expression了我的问题。) 另外值得注意的是,我相当肯定这一切都在我的域名失效时工作。 一旦我的域名上线,这就停止了。 这可能是我的想象力,因为我当时并不是100%专注于这个问题。 Chrome是否可能会特别对待Google Play商店url,否则在打开Intent Chooser之前,它会等待来自url的非200响应?

使用Intent.ACTION_CREATE_DOCUMENT(存储访问框架)选择目录/文件

如下所述: http://www.doubleencore.com/2014/03/android-external-storage/ 或者在这里: http://www.androidpolice.com/2014/02/17/external-blues-google-has-brought-big-changes-to-sd-cards-in-kitkat-and-even-samsung-may-be-实施-他们/ KitKat将限制写入辅助外部存储到特定于程序包的目录(尽管一些开发人员已经find了解决方法……)。 随着三星使用SD卡作为辅助外部存储并推出4.4.2更新,这已成为许多应用程序的主要问题。 我的应用程序有一个保存function,允许用户选择一个任意目录来保存文件。 我正在使用像org.openintents.action.PICK_DIRECTORY,com.estrongs.action.PICK_DIRECTORY或我的集成文件资源管理器这样的Intents来选择一个目录。 用户当然也可以自由选择SD卡上的任何路径,但由于KitKat的新限制,如果目录是我的应用程序没有写访问权限,实际的存储操作将失败。 我需要一种替代方法来选择KitKat上的目录,以便用户在尝试保存到SD卡时不会收到错误消息。 这可以通过让他们只选择应用程序具有写访问权限的目录来实现。 我尝试使用Intent.ACTION_CREATE_DOCUMENT,如下所示: Intent intent = new Intent(Intent.ACTION_CREATE_DOCUMENT) .addCategory(Intent.CATEGORY_OPENABLE) .setType(attachment.getContentType()) .putExtra(Intent.EXTRA_TITLE, attachment.getName()); startActivityForResult(intent, RequestCodes.MSG_CHOOSE_DIRECTORY); 这工作正常,我可以写入用户选择的文件,但我只能选择某些目录。 例如,对于pdf文件,它将返回下载目录(匹配Environment.DIRECTORY_DOWNLOADS),对于jpg,它将允许我选择下载目录和Google驱动器。 但它确实没有让我选择在主外部存储器上选择其他文件夹,也不在sdcard上选择特定于包的目录(我尝试了不同的内容types,如“* / *”或DocumentsContract.Document.MIME_TYPE_DIR,但无济于事)。 所以我正在寻找的方法是让用户在主外部文件系统上选择一个目录(如Environment.getExternalStorageDirectory()实际上是内部存储器所返回的)以及框架可以访问的所有目录到辅助外部存储器中以便在该目录中保存文件。 无论用户选择目录还是文件都无关紧要,应用程序将使用自己的文件名或用户选择的文件名。 或者知道某些应用程序如何find解决新写入限制的方法当然也是可行的选择;-)。 ES文件资源管理器例如可以将任何文件写入SD卡上的任何目录,因为我可以通过我自己的测试在带有sdcard的无根S4上进行确认。

Intent选择器对话框显示活动标签旁边的包名称

如果我通过Intent将文件发送到其他应用程序,Samsung设备上的选择器对话框会显示我的应用程序的包名称,以及定义的Activity标签。 在Nexus设备上,我只能按预期看到标签。 如何解决这个问题? 在Galaxy Note 3上,都显示了标签和包装名称(见截图) 在Galaxy S3上,只有包名称可见

使用Intent标志“CLEAR_TOP”和launchMode =“singleTask”有什么区别?

使用Intent标志”FLAG_ACTIVITY_NEW_TASK” launchMode=”singleTask” “FLAG_ACTIVITY_CLEAR_TOP”和launchMode=”singleTask”和launchMode=”singleTask”什么launchMode=”singleTask” ? 将intent标志设置为”singleTop”设置为”singleTop”什么区别。

Android共享图片无法从之前共享的项目中清除预览

简单的问题,我已经设置了代码来创建图像的位图并通过Action_Send共享它。 共享时,正确的图像会发送,但是在消息字段中显示的图像预览(如果您通过文本发送)会显示以前共享的项目。 有没有办法强制刷新预览? 下面的图片显示了我正在谈论的领域。 那里的预览不是当前共享的图像,而是之前许多共享图像中从未清除过的图像。 http://img.androidcookie.com/java/dT78Z.png private Intent getShareIntent() { Intent shareIntent = new Intent(Intent.ACTION_SEND); File sdCard = Environment.getExternalStorageDirectory(); File sharedFile = new File(sdCard+”/SaveDirectory/mypicture.png”); Uri uri = Uri.fromFile(sharedFile); shareIntent.setType(“image/*”); shareIntent.putExtra(Intent.EXTRA_STREAM, uri); return shareIntent; }

如何使用intent-filter捕获限于特定URL的Android共享意图?

我可以使用以下intent-filter将我的应用程序挂钩到“共享页面”function: 但我想更进一步,将filter限制为包含特定url的意图,例如YouTubevideo的url。 我试过这样的东西,但它不起作用: 有什么建议么?

如何从PayPal移动支付库获取用户名,电话和电子邮件

我正在使用PayPal 移动支付库让用户从我的Android应用程序支付旅程费用。 当用户点击使用Paypal按钮付款时,登录屏幕显示,当用户登录时,他能够成功付款。 这一切都适用于我的应用程序。 我需要的是在用户完成/取消onActivityResult代码中的付款后获取用户详细信息。 请看下面我的代码,遗憾的是它没有从paypal帐户中获取详细信息,所以我想知道是否有另一种方法可以在登录后从paypal获取用户详细信息。 @Override public void onActivityResult(int requestCode, int resultCode, Intent data) { switch (requestCode) { case PAYPAL_REQUESTCODE: { Log.w(“tag”,”jemail#”+ PayPal.getInstance().getAccountEmail()); Log.w(“tag”,”jname#”+ PayPal.getInstance().getAccountName()); Log.w(“tag”,”jphone#”+ PayPal.getInstance().getAccountPhone()); Log.w(“tag”,”jdialcode#”+ PayPal.getInstance().getAccountCountryDialingCode()); switch(resultCode) { case Activity.RESULT_OK: { String payKey = data.getStringExtra(PayPalActivity.EXTRA_PAY_KEY); Log.d(“tag”, “PayPal payment succeeded”); Log.d(“tag”, “PayPal payKey: ” + payKey); 我做的是我登录,然后取消交易这是我得到的日志 04-30 12:30:19.672: W/tag(24697): jemail# 04-30 […]

将自定义parcelable对象extra或在ArrayList中传递给RemoteViewsService会破坏appwidget

基本上我想要做的是将一个自定义的parcelable对象通过intent传递给RemoteViewsService,从而传递给我的RemoteViewsFactory。 出于某种原因,这根本不起作用:S每当我尝试这样做时,小部件最终会显示“问题加载小部件”文本。 当我尝试相同的事情,但我没有将它传递给RemoteViewsService,而是将其传递给常规的Activity,它完全按预期工作。 我试图在网上find我的答案,但我一直没有成功,所以我现在发帖在这里希望得到帮助。 我一直试图让这个在我的主程序中工作一段时间。 但我无法弄明白。 所以我试着把它煮沸,看看我是否在某种程度上做错了什么。 我成功地重新创建了这个问题,我重新创建问题的基础是来自CommonsGuy的LoremWidget( https://github.com/commonsguy/cw-advandroid/tree/master/AppWidget/LoremWidget )和一个随机的parcelable示例( http ://prasanta-paul.blogspot.dk/2010/06/android-parcelable-example.htm l)我已经修改过以显示我的问题。 (希望我不会遇到麻烦,在这两个链接上使用了代码) 下面是随机文件主机上传的完整代码,以防有人想要测试我正在谈论的内容: http : //www.filedropper.com/remoteviewserviceparcelerrorexample 总结一下我的问题: 为什么我不能将我的parcelable对象(单独或包装在ArrayList中)传递给我的RemoteViewsService? (当相同的代码与Activity一起工作时) 我真的希望有人能够帮助我。 现在,在我的主程序中,我将序列化到内部存储,然后从RemoteViewsService再次反序列化,之后我已经阅读了,这些都是非常有效的! 编辑:记住,由于某种原因,在我的主程序中,如果我传递其中一个自定义对象,将ArrayList和Strings设置为null,并且将布尔值全部设为false(基本上是对象在创建时的外观),小部件看起来很正常(即没有“问题加载小部件”消息)。 编辑:看了看后(没有过滤到我正在运行的应用程序)我现在看到一些错误(猜我最好学会在未得到任何文件的情况下将其全部未过滤:) :): 11-13 17:14:27.268: D/AndroidRuntime(8840): >>>>>> AndroidRuntime START com.android.internal.os.RuntimeInit <<<<<< 11-13 17:14:27.268: D/AndroidRuntime(8840): CheckJNI is ON 11-13 17:14:27.340: D/AndroidRuntime(8840): Calling main entry com.android.commands.pm.Pm 11-13 17:14:27.348: W/ActivityManager(90): No content provider found for […]

在不使用android的情况下在新任务中打开android活动:launchMode =“singleTask”

我创建了一个主要活动的浏览器应用程序,它响应以下意图: 在URL上点击其他任务(gmail,sms)如果我选择我的应用程序,则活动在与调用任务相同的任务中打开。 当我选择不同的浏览器(Mozila firefox,chrome,dolphine)时,他们正在开启不同的任务。 看看其他浏览器清单,我看到没有人使用android:launchMode =“singleTask” 。 我不想使用单一任务标志,因为它不是谷歌推荐的,也让我成为其他问题。 我试图了解其他浏览器是如何做到的,但没有弄清楚。 有任何想法吗? 有没有其他方法在不使用singleTask标志的情况下在不同的任务中打开我的活动?