草庐IT

android - 使用 Robolectric 测试带有 intent extras 的服务的启动?

我可以使用Robolectric来测试一个Activity是否启动了一个带有Intent传递的特定Bundle的服务?回答:是的!我想编写一个基于Robolectric的测试来测试我的MainActivity启动MyService并在intentextras中传递一个特定的数字:在“MainActivity.java”中我有方法publicvoidstartMyService(){Intenti=newIntent(this,MyService.class);BundleintentExtras=newBundle();//TODO:Putmagicnumberinthebundlei

android - Activity 重新创建 Intent 附加项为空

我的应用程序包含一个MainActivity并使用全屏fragment来显示内容。我正在尝试在重新创建应用程序期间实现以下目标(当应用程序在后台运行了很长时间,被系统杀死,然后它被带到前台)如果用户手动重新创建应用程序(通过从最近的应用程序列表中选择应用程序),则应重新创建主Activity,然后重新创建全屏的最后一个fragment。没问题,这是标准行为。如果由于用户触摸推送通知而重新创建应用程序,主Activity应重新创建,但全屏模式下的最后一个fragment不应重新创建。应该创建并显示一个新的fragment。为什么?推送通知包含有关应显示哪种fragment的信息我的方法依

android - 将 Activity 中的 Arraylist 传递给 Fragment

我有MyClass实现Parcelable。并有2个fragment。在MainActivity(onCreate)中我有代码:ArrayListdata=newArrayList();............Bundleextras1=newBundle();extras1.putParcelableArrayList("arraylist",data);Tab1Fragmentfg=newTab1Fragment();fg.setArguments(extras1);在Fragment(onCreateView)中:Bundleextras=getArguments();ListV

Intent "Extra"键与 Bundle 键的 Android 命名约定

我目前正在学习如何在Android中编程。我读到Extras的键(放在Intent中)通常以单词“EXTRA”开头,例如:publicstaticfinalStringEXTRA_USER_CHEATED="someuniquestring";而要保存在Bundle中的对象的键通常以“KEY”一词开头,例如:publicstaticfinalStringKEY_USER_CHEATED="someotheruniquestring";如果我有一个变量需要作为Extra传递给另一个Activity,但我还需要能够将相同的变量保存在Activity的Bundle中怎么办?我应该有两个变量键

android - 通过 Intent.ACTION_SEND 共享文件时,Google 云端硬盘将文件名更改为 Intent.EXTRA_SUBJECT

我有以下代码通过Intent.ACTION_SEND共享文件。最后一行显示了一个选择器,以便用户可以选择合适的应用程序。当我选择电子邮件时,一切都很好,文件已附加到电子邮件中。另一方面,当我选择谷歌驱动器时,文件被上传到谷歌驱动器,但文件的名称被更改为“备份”,这是主题。也就是说,如果我调用shareBackup("/sdcard/001.mks"),则Google驱动器上的文件名是“Backup”而不是“001.mks”。我的代码有问题吗?publicvoidshareBackup(Stringpath){Stringto="YourEmail@somewhere.com";Stri

java - 尝试访问 EXTRA_ADDRESS_BOOK_INDEX 字段时出现 JNI 错误

我正在尝试访问EXTRA_ADDRESS_BOOK_INDEX使用JNI的常量:JNIEXPORTjintJNICALLJNI_OnLoad(JavaVM*vm,void*reserved){JNIEnv*env=nullptr;vm->GetEnv(reinterpret_cast(&env),JNI_VERSION_1_6);jclassclazz=env->FindClass("android/provider/ContactsContract$Data");jfieldIDfieldID=env->GetStaticFieldID(clazz,"EXTRA_ADDRESS_BO

android - 在 Android MediaStore.EXTRA_DURATION_LIMIT 中无法在 6.0 及更高版本的设备中工作

我使用的是LGNexus(6.0)。当我使用相机使用以下代码捕获视频时。Intentintent=newIntent(MediaStore.ACTION_VIDEO_CAPTURE);fileUri=getOutputMediaFileUri(MEDIA_TYPE_VIDEO);//setvideoqualityintent.putExtra(MediaStore.EXTRA_VIDEO_QUALITY,1);intent.putExtra(MediaStore.EXTRA_DURATION_LIMIT,30);intent.putExtra(MediaStore.EXTRA_OUTP

android - getBoolean(EXTRA_NO_CONNECTIVITY) 总是返回 false

有一次我遇到了问题,你们帮了大忙。所以我又遇到了另一个我遇到的问题......:/我正在运行一个扩展BroadcastReceiver的自定义NetworkReceiver。我想检测手机何时连接到互联网,以便我可以在任何时候启动服务。我已经阅读了很多主题,所有主题或多或少都会提示以下代码对我不起作用:publicclassNetworkReceiverextendsBroadcastReceiver{privatestaticfinalStringtag=NetworkReceiver.class.getSimpleName();@OverridepublicvoidonReceive

android - 如何获得已经挂起的 PendingIntent 的 Intent extra?

我已经用AlarmManager安排了一个PendingIntent。当AlarmManager传送Intent时,我能够getExtras()我最初发送的所有数据。但是,有时在AlarmManager触发之前,我会获得要通过Intent传递的额外数据。我的想法是,我会得到Intent就像我要取消它一样,但是在取消它之后,更新附加内容并使用AlarmManager重新安排它,就像这样:Intenti=newIntent(this,MyReceiver.class);Bundleb=i.getExtras();PendingIntentpi=PendingIntent.getBroadc

android - 我们可以使用 Android 支持库将 Intent.EXTRA_ALLOW_MULTIPLE 用于旧版本的 Android API 级别吗?

根据Intent.EXTRA_ALLOW_MULTIPLE文档:UsedtoindicatethataACTION_GET_CONTENTintentcanallowtheusertoselectandreturnmultipleitems.Thisisabooleanextra;thedefaultisfalse.Iftrue,animplementationofACTION_GET_CONTENTisallowedtopresenttheuserwithaUIwheretheycanpickmultipleitemsthatareallreturnedtothecaller.Whe