我正在使用新的Google Play服务驱动器api在我的Android应用程序中使用App文件夹实现备份和恢复数据.我按照google驱动程序开发人员指南中的说明进行操作.当我只使用一个设备时,我可以成功备份和恢复数据不要卸载并重新安装app.But当我使用两个设备或unintall并重新安装应用程序时出现问题.
场景1:我在一台设备上安装我的应用程序并将数据备份到"App文件夹"成功,我可以看到我的应用程序文件夹的数据大小在Google驱动器"管理应用程序"中更改,然后我在另一台设备上安装我的应用程序并尝试使用"从谷歌驱动器恢复"来恢复我刚在第一台设备上备份的数据.但谷歌驱动器api返回空的MetadataBuffer.
场景2:我在一台设备上安装我的应用程序并将数据备份到"App文件夹"成功,我还看到我的应用程序文件夹的数据大小在"管理应用程序"中更改.然后我卸载我的应用程序并重新安装它并尝试恢复数据我备份.同样的事情发生了.我的app文件夹中找不到文件.
我用queryChildren和listChildren尝试了api,但没有幸运.
Drive.DriveApi.getAppFolder(getGoogleApiClient())
.queryChildren(getGoogleApiClient(), query)
Run Code Online (Sandbox Code Playgroud)
和
Drive.DriveApi.getAppFolder(mGoogleApiClient).listChildren(mGoogleApiClient)
Run Code Online (Sandbox Code Playgroud)
任何来自谷歌驱动团队的人都能解决问题吗?我认为这是一个非常大的bug.we仍然没有解决方法.
我在最近的应用程序版本中运行了 Firebase A/B 测试,这是一个带有一个远程配置参数的实验。
几天后,生成了一个领导者,所以我推出了领导者并应用了更改。正如我所料,这个实验现在应该成为一个完整的实验,因为我已经得到了leader并推出了它,但真正的实验还在运行实验列表中,而不是在已完成的实验列表中。
我糊涂了。有没有人遇到过同样的问题并知道如何解决这个问题?
这是 firebase 控制台的错误还是我的操作有问题?
当我使用 Android studio 方法跟踪来分析我的应用程序的电池消耗问题时,我观察到在应用程序被主页按钮暂停后周期性的 CPU 负载。这种负载是由属于 RxJava 的线程引起的。
从 RxJava github 源获取的代码可能会导致问题。
public static void start() {
for (;;) {
ScheduledExecutorService curr = PURGE_THREAD.get();
if (curr != null && !curr.isShutdown()) {
return;
}
ScheduledExecutorService next = Executors.newScheduledThreadPool(1, new RxThreadFactory("RxSchedulerPurge"));
if (PURGE_THREAD.compareAndSet(curr, next)) {
next.scheduleAtFixedRate(new ScheduledTask(), PURGE_PERIOD_SECONDS, PURGE_PERIOD_SECONDS, TimeUnit.SECONDS);
return;
} else {
next.shutdownNow();
}
}
}
Run Code Online (Sandbox Code Playgroud)
我试图更改清除周期时间,我在我的应用程序的 onCreate 应用程序中添加了以下代码,但它似乎不起作用。
System.setProperty("rx2.purge-period-seconds", "3600");
Run Code Online (Sandbox Code Playgroud) 我想transparent AppBarLayout在我的应用程序中使用效果,应该很容易。
只是使background的AppBarLayout "@null"还是"@android:color:transparent"应该工作,但事实是我错了。
我在 AppBarLayout 中得到了奇怪的阴影。
我的布局xml:
<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true">
<android.support.design.widget.AppBarLayout
android:id="@+id/appbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@null">
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
app:layout_scrollFlags="scroll|enterAlways" />
</android.support.design.widget.AppBarLayout>
</android.support.design.widget.CoordinatorLayout>
Run Code Online (Sandbox Code Playgroud)
活动代码
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
getWindow().setBackgroundDrawableResource(R.drawable.bg_005);
setTranslucent(this);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
WindowManager.LayoutParams localLayoutParams = getWindow().getAttributes();
localLayoutParams.flags = (WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS | localLayoutParams.flags);
}
}
public static void setTranslucent(Activity activity) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { …Run Code Online (Sandbox Code Playgroud)