如果您的自定义设置取决于Google早期的构建系统标准,则可能需要使用旧版本的Eclipse ADT.在网上哪里可以找到旧版本的ADT,以及如何在Eclipse中安装它们?
Android在4.2(Jelly Bean MR1)中引入了多用户功能,其文档说明:
从您的应用程序的角度来看,每个用户都在一个完全独立的设备上运行.
这是来自Environment.getExternalsStorageDirectory()和getExternalStoragePublicDirectory()方法doc的引用:
在具有多个用户的设备上(如UserManager所述),每个用户都有自己独立的外部存储.应用程序只能访问正在运行的用户的外部存储.
难道真的没有可靠的方法在单个设备上的用户之间进行数据通信而不使用网络作为中介吗?我正在寻找不依赖于制造商如何布置设备文件系统的怪癖的解决方案.此外,为了安全起见,共享应该是我的应用程序的内部.
即使文件共享确实不可能,通过意图进行通信是否可能?
有用例.用例1:假设我正在编写一个需要100MB字典文件的输入法应用程序.我想编写代码,以便在用户A下载此文件时,用户B也可以访问它而无需重新下载.使用案例2:假设我正在写一个有趣的"留下我的妻子一个笔记"应用程序,该应用程序允许用户A键入下次用户B登录时显示的消息(不使用网络).
这个线程在一个单独的站点上提出了一个解决方案,但他们的方法似乎没有文档记录,可能不可靠.还有一些其他SO问题的标题与此类似,但实际上正在讨论不同的主题.
例如,如何启动用户设置?它没有作为自己的Activity实现,所以我不知道如何启动它.
以下是一些其他类似的问题,但这些问题要么更一般,要么更具体.我的问题是关于启动任意SubSettings片段.
每个Android设备都具有物理像素密度和"量化密度".来源声明量化密度是用于确定如何在运行时选择和缩放drawable-dpi图像的密度.
问题:如何选择这些图像(1)和(2)缩放?
例如,放置在drawable-xhdpi存储桶中的64x64图像会缩放到什么尺寸?
当我在某些设备上安装我的应用程序(似乎是4.4.4及更高版本)时,我有时会在以下步骤之后在com.android.launcher中看到以下ANR:
com.android.launcher中的ANR(com.android.launcher/com.android.launcher2.Launcher)原因:输入调度超时(等待,因为没有窗口有焦点但是有一个专注的应用程序,当它完成时可能最终添加一个窗口启动.)
请注意,ANR发生在com.android.launcher中(不在我的应用程序中).
顺便说一句,我在onBackPressed/onPause/onStop方法中没有做昂贵的操作.
日志还显示ANR发生时没有调用onBackPressed() - 非常奇怪的行为,你可以在这里看到:
## User starts Activity A from Android Launcher
D/Activity A: onResume()
D/Activity A: onClick(): start Activity B
D/Activity A: onPause()
D/Activity B: onResume()
## User taps system back key (and onBackPressed() launches Activity A)
D/Activity B: onBackPressed(): start Activity A
D/Activity B: onPause()
D/Activity A: onResume()
D/Activity A: onClick(): start Activity B
D/Activity A: onPause()
D/Activity B: onResume()
## User taps system back key (but onBackPressed() is not invoked. Instead …Run Code Online (Sandbox Code Playgroud) 有没有办法通过adb将消息注入logcat缓冲区?如果用于测试和开发,这可能是有用的.
(SO要求我在这里写更多,所以我在这里写更多(忽略这一行)).
我正在处理一些遗留代码,其中包含AndroidManifest.xml文件中的以下行:
<activity android:name="com.crittercism.NotificationActivity"/>
Run Code Online (Sandbox Code Playgroud)
由于我在Crittercism文档中找不到任何提及,我想知道它的目的是什么,现在它是否已经过时了.由于我的公司正在使用Crittercism进行错误报告,所以我不能不加思索地删除对Crittercism的所有引用.
所以我想弄清楚这个Activity的目的.当我从命令行启动它时,我得到一个空白屏幕,但是如果我使用字符串"-e com.crittercism.notification XXX"启动它,那么Activity将显示消息"Developer:XXX".(我通过反编译crittercism.jar文件来解决这个问题.)从AM.xml文件中删除Activity似乎没有破坏任何东西,但我不确定 - 也许以后以某种方式使用它.