我正在使用Firebase SimpleLogin来启用电子邮件/密码身份验证.创建用户和后续登录都可以正常工作.但是,每当我离开应用程序时(即使只持续几秒钟),用户从未在我的返回时登录,即...
authClient.checkAuthStatus(new SimpleLoginAuthenticatedHandler())...
Run Code Online (Sandbox Code Playgroud)
始终返回null用户.
我没有通过API注销用户.此外,我还在Firebase控制台中将用户登录的天数设置为21.
我已经看到在JS文档中提到了一个记住我的参数,但是我看不到Android/Java的任何等价物.
想知道我是否遗漏了文档中的任何内容,或者Android是不可能的?
谢谢你的帮助,
尼尔.
编辑:添加代码示例.
用户创建....
public void registerUserForChat(final MyApplication application, String email, String password) {
Firebase ref = new Firebase(FIREBASE_URL);
SimpleLogin authClient = new SimpleLogin(ref);
authClient.createUser(email, password, new SimpleLoginAuthenticatedHandler() {
@Override
public void authenticated(com.firebase.simplelogin.enums.Error error, User user) {
if(error != null) {
Log.e(TAG, "Error attempting to create new Firebase User: " + error);
}
else {
Log.d(TAG, "User successfully registered for Firebase");
application.setLoggedIntoChat(true);
}
}
});
}
Run Code Online (Sandbox Code Playgroud)
用户登录....
public void loginUserForChat(final MyApplication application, …Run Code Online (Sandbox Code Playgroud) 我在应用程序的ActionBar中一直设置动画"刷新"图标时遇到一些问题.
我有一个容器FragmentActivity,当用户在应用程序中导航时(从片段本身内部或从SlidingMenu选项中)交换片段.因此,当应用程序首次加载时,我的FragmentContainer会添加FragA.从FragA,用户可以导航到FragB,然后交换进来.
在操作栏中,我显示一个静态的"刷新"图标.当每个Fragment加载时,我用动画"spinner"图标替换它.加载完成后,我将恢复为原始刷新图标.
问题是,此动画仅适用于原始片段(在本例中为FragA).当用户导航到FragB并选择刷新图标时,将触发刷新,但动画永远不会发生.类似地,如果按下后退按钮返回到FragA,则现在遵循相同的模式,即按下时刷新按钮不动画.
注意事项......
SlidingFragmentActivity.setHasOptionsMenu(true)- 我已经通过这个调试了,并且onCreateOptionsMenu每个都正确调用.FragmentTransaction.remove()和add()而不是replace()因为我以前有过后退按钮的问题与replace()-我使用的兼容性lib和我读了这里的replace实现是一个有点马车-并且不使用固定的肯定我所看到的问题.代码片段如下:
我加载原始片段的代码是....
FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
ft.add(R.id.content_frame, new FragA());
ft.addToBackStack(null);
ft.commit();
Run Code Online (Sandbox Code Playgroud)
为FragA'交换'FragB ....
public void switchContent(PysoBaseFragment fragment) {
FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
ft.remove(existingFragment);
ft.add(R.id.content_frame, fragment);
ft.addToBackStack(null);
ft.commit();
}
Run Code Online (Sandbox Code Playgroud)
此方法在容器活动中声明,并从FragA调用,即...
getFragmentContainer().switchContent(new FragB());
Run Code Online (Sandbox Code Playgroud)
旋转图标的代码在开始加载时从新的Fragment中调用.有点像......
ImageView spinnerActionView = (ImageView) inflater.inflate(R.layout.refresh_action_view, null);
Animation …Run Code Online (Sandbox Code Playgroud) android android-fragments actionbarsherlock android-support-library slidingmenu
每当向用户显示片段时,我都需要执行一些代码.
通过API查看我能看到的最接近的钩子方法是onResume.但是,从调试到我的代码时,似乎当用户选择后退按钮返回到先前显示的片段时,不会调用onResume .
只是为了澄清我所看到的行为:
我有一个'父'活动,用于配置ActionBar中的标签...以及2个片段F1和F2.
用户选择一个选项卡,F1将加载到活动中.按下按钮,用户可以导航到F2.这不是一个单独的选项卡... F2被交换到布局中.
添加日志语句,我可以看到当用户选择F2上的后退按钮时,会发生以下情况....
1)在F2上调用onPause().2)F1被加载到活动中......但是没有调用 F1上的onResume()
目前日志中没有错误.
我在这里做错了什么想法?
提前致谢,
尼尔.
为了允许用户提交评论,我有2个视图,垂直堆叠.ListView用于显示输入的注释和LinearLayout页脚,允许用户添加注释(基本上是EditText和按钮).
页脚必须固定在屏幕的底部,ListView必须位于屏幕的上方.它与您在Facebook上为Android添加评论时看到的内容类似.
但是我不希望ListView最初占用整个空间 - 我希望它只占用显示其行所需的空间,但是当用户添加注释时能够扩展到剩余空间 - 同时始终保持在页脚布局上方.
我已尝试过如此建议的LinearLayout Android:如何在底部和listview上面对齐按钮?
但是,这会导致ListView占用页脚上方的所有空间 - 当只有几条注释时 - 所以它主要是空的并且看起来很奇怪.
我已经尝试了一个RelativeLayout父级,其中页脚使用锚定android:layout_alignParentBottom="true".....使用android:layout_above="@id/footerLayout"与上面相同的行为将ListView定位在页脚上方(ListView占用所有剩余空间)...删除它允许ListView'增长但如果它变得太大,它会与页脚重叠.
干杯.
我正在尝试为Meteor 移动应用程序提供一些每个构建的配置.该--mobile-settings选项看起来非常适合此任务 - 它允许您在构建时将配置(JSON)传递给移动客户端 - 与--settings选项对服务器的方式相同.
但是,我看到了一些意外行为...... --mobile-settings当客户端从服务器刷新时,通过外观传递给移动客户端的任何内容都被覆盖.
这就是我做的......
Meteor.settings.public.blah并在屏幕上显示.--mobile-settings选项集 - 指向声明'blah'属性的设置文件.将其安装在设备上.在刷新时,为什么要从服务器覆盖特定于移动设备的构建时间值?移动设置文件是否也需要存在于服务器上?
提前致谢.
更新
好的,通过下面的讨论,我想我需要澄清一下我的问题......
我上面描述的是我所看到的行为.但是,我发现这种行为令人困惑,我很难找到有关此功能的任何文档来详细说明预期的行为.
我能找到的最好的是其中一个原始开发者评论过的帖子(https://groups.google.com/forum/#!msg/meteor-talk/Jbfnk5kCvW4/6qvccun2dQ0J).他说...
您只需构建两次移动应用程序,并传递不同的json
--mobile-settings.
这似乎不支持我所看到的行为 - json传递给--mobile-settings的地方将被部署到服务器的任何内容覆盖.因此我的困惑.
如果有人能指出我的任何文件或以任何方式确认这种行为,我将不胜感激.