有关于此错误的讨论,但似乎他们最终得到关于"停止状态"(应用程序)的答案.
我看到了不同的东西.
我有两个云推送样本,一个是官方GCM样本,另一个是跟随教程的FCM项目,它们都受到影响.
两者都安装在带有6.0.1的Samsung S6上,设备已插入(无打盹)并连接到WiFi.
有时,在logcat中将推送消息发送到GCM示例或FCM应用程序会开始失败:
07-17 14:37:38.851 W/GCM-DMM(29459):广播意图回调:result = CANCELED forIntent {act = com.google.android.c2dm.intent.RECEIVE flg = 0x10000000 pkg = gcm.play.android. samples.com.gcmquickstart(有额外的)}
07-17 14:38:25.231 W/GCM-DMM(29459):广播意图回调:result = CANCELED forIntent {act = com.google.android.c2dm.intent.RECEIVE flg = 0x10000000 pkg = firebasetest.example.kman. firebasetest(有额外的)}
启动任一应用程序的UI将使推送消息再次(到该应用程序),但旧的(产生错误)将不会重新传递.
现在 - 我没有强制停止任一应用程序.其中一个我可能在15分钟前使用过.该设备没有进入睡眠状态(屏幕已打开,并且它一直处于插入状态).
因此"强制停止"解释不适用于此处,打盹模式不适用于此处.
此外,谈到"强制停止",我做了几个测试,然后故意关闭"最近的应用程序列表"中的任一个(GCM或FCM)应用程序,验证该进程被杀死(通过logcat)然后(GCM或FCM)推送消息会很好.
所以它必须是别的东西(不是"强制停止"或打盹模式)而这其他东西导致推送消息变得不可靠,这违背了目的.
有关如何跟踪此问题的任何想法,以防止/避免推送消息传递突然中断?
GCM样本的清单:
FCM测试的清单:
```XML
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<service android:name=".MyFirebaseMessagingService">
<intent-filter>
<action android:name="com.google.firebase.MESSAGING_EVENT" />
</intent-filter>
</service>
<service android:name=".MyFirebaseInstanceIDService">
<intent-filter>
<action android:name="com.google.firebase.INSTANCE_ID_EVENT" …Run Code Online (Sandbox Code Playgroud) 我有这个带有WebView的应用程序用于显示HTML内容.
在我做了一些相当重大的改变之后,TalkBack可访问性存在"问题",特别是文本到语音和触摸探索,仅在4.4设备上(不是5.0).
触摸文本的一段(段落)有时会起作用,但有时会产生咔嗒声并且没有输出,并且文本不会突出显示应该是的选择矩形.
在5.0,一切都很好:触摸一个文本在它周围绘制一个选择,并说出文本.
我知道4.4的回归与我的一些变化有关,但它是一个重要的重写,并且一个接一个的回溯变化看起来并不高效,而且可能完全不可能.
JavaScript已启用.WebView设置为focusable和focusableInTouchMode(后者是当我看到启用了辅助功能时)编辑:尝试没有focusableInTouchMode,没有区别.
WebView的维度是match_parent/match_parent,因此它与屏幕一样大(并处理自己的滚动).
从我的观点来看,WebView中的TalkBack在用户启用时是"神奇的,只是工作":据我所知,没有API可以调用,没有集成点,没有,它应该"正常工作".
如何诊断这样的问题?
是否可以向Google的某人寻求帮助?如果是这样,渠道是什么?我发布了免费的眼睛,并通过TalkBack支持提交了反馈,但没有收到任何回复.
在TalkBack中有任何类型的"调试/开发者"模式吗?详细记录?什么?
这是参考:
https://developers.googleblog.com/2016/08/modernizing-oauth-interactions-in-native-apps.html
要求在#google-oauth下发布有关堆栈溢出的问题.
我一直在使用基于Chrome Tabs的新方法,对于系统设置中尚未出现的@gmail帐户,用户体验非常糟糕.
我有一个电子邮件应用程序,一些用户希望能够在我的应用程序中使用他们的(辅助,辅助)@gmail帐户,而无需将其添加到系统设置中.
这是在原生移动应用程序中完全使用基于Web的OAUTH的主要原因(从我的角度来看),因为对于系统设置中存在的帐户,我只使用Google Play服务,这对用户来说非常简单,它运作正常.
好的,关于问题.请将此视为"问题报告".
(请注意SO主持人 - 我会重申,谷歌人要求在此发布反馈意见,似乎没有任何其他反馈渠道)
1 - 用户想要添加新的@gmail帐户(系统设置中不存在),我在Chrome标签页中启动了批准网址.
Chrome会根据系统设置显示主要的@gmail帐户(我猜是可以预料的).
不好:要切换到另一个帐户 - 这是首先进入此屏幕的点 - 用户必须点击帐户名称,在右上角,然后点按"管理帐户",然后点按"隐身"(如"管理帐户"会将用户带到一个屏幕,用于将另一个@gmail帐户添加到Android中,而不是他/她想要的帐户.
结果:用户不会知道这一点,它很复杂,不直观.我重申,"进入"此屏幕的唯一原因是授权系统设置中不存在的帐户.
可能的解决方案:更轻松地以"其他Gmail帐户"登录,而无需了解"隐身".
2 - 用户需要重新授权一个@gmail帐户,该帐户1)在系统设置中不存在,2)已经存在于应用程序中.
也许他/她意外地取消了许可,也许是别的,好的,应用程序会打开批准屏幕,设置login_hint为已知的电子邮件.
这是在WebView中:
很容易理解.帐户(电子邮件)已预先填写login_hint,用户点击下一步,输入密码,授予权限,完成!
这就是Chrome标签中的样子:
这个世界到底是什么?
我猜Chrome认识到login_hint手机的设置中没有通过该帐号.
对,不是.这就是打开这个屏幕的重点(而不仅仅是使用Google Play Services OAUTH utils).
从用户的角度来看,我甚至无法弄清楚如何切换到我手机系统设置中没有的特定帐户.
现在您可能会问 - 为什么让用户使用手机系统设置中不存在的@gmail帐户?
这就是用户想要的,这就是原因.
不是每个人都喜欢Gmail应用程序(好吗?)
并不是每个人都想拥有Android会尝试在每个@gmail帐户下同步的几十个和几十个东西的列表(杂志?健身?游戏?电视?电池优化,对吧?)
所以他们转向我的应用程序,让他们添加@gmail帐户(对于他们的主帐户,我猜)和没有(对于其他人)必须将它们添加到系统设置中.
现在问题:
1 - 非系统帐户的新UI流程已损坏,您好Google员工,您确认了吗?
2 - 您好Google员工是否同意非系统帐户是进入"类似网络"OAUTH的主要原因,因为系统帐户仍由GoogleOauthUtil.getToken处理?
3 - 您是否同意现在简单地打破流程?
4 - 你有计划吗,你能想出一个解决这个问题的计划吗?
我正在研究将 Gboard 图像支持添加到我们的应用程序中。
我有以下三个具体问题。
已在https://developer.android.com/guide/topics/text/image-keyboard.html上查看官方文档
不过,有些奇怪的事情正在发生。
当用户点击 EditText 时,编辑器会发送在 EditorInfo.contentMimeTypes 中接受的 MIME 内容类型列表。
IME 读取支持的类型列表,并在软键盘中显示编辑器可接受的内容。
我读到此内容还意味着,如果应用程序未设置 EditorInfo.contentMimeType,则键盘将无法启用用于插入图像的 UI。
但实际情况并非如此。
首先,我看到的是 GBoard 显示了几乎所有 EditText 的插入图像 UI,大概是基于其 inputType。
我尝试创建一个 EditText 子类,重写 onCreateInputConnection 并确保 EditorInfo.contentMimeType -> 插入图像 UI 确实显示。
我们的应用程序中有数十个 EditText 输入字段(可能更多),位于不同的屏幕上。对于绝大多数人来说,插入动画 GIF 没有任何意义。
问题#1 - 如何才能阻止这种情况(如果可以的话)?
顺便说一下,这很容易在几乎任何应用程序、几乎任何输入字段中进行检查。例如,在 Gmail 应用程序的搜索栏中。或者在 Google Chrome 中的 URL 输入栏中。
这对于大多数应用程序来说是无害的 - 如果您在不支持图像输入的输入字段中选择 GIF(例如上面的示例,Gmail 和 Chrome),GBoard 会显示一条“类似于吐司”的消息,指出“此文本字段不支持图像输入”。不支持从键盘插入 GIF”。
好的但是:
作为后备方案,当 GBoard 无法通过 InputConneciton 发送选定的 GIF 时 -> 它会尝试启动仅限于应用程序包的 ACTION_SEND 意图,并使用表示图像的 URL。
我们的应用程序(电子邮件应用程序)在其 ACTION_SEND …
我正在尝试为华为应用程序库创建应用程序的特殊版本,这意味着用华为推送套件替换 Firebase Cloud Messaging。
我的应用程序无法获取令牌,但出现以下异常:
I HMSSDK_HmsClient: receive msg status_code:0, error_code800100000, api_name:push.gettoken, app_id:102999567|, pkg_name:org.kman.test1.huawei, session_id:*, transaction_id:102999567ttoken20201001165618936966550, resolution:null
E HMSSDK_HmsInstanceIdEx: TokenTask failed, ErrorCode: 800100000
E HMSSDK_AutoInit: Push init failed
E HMSSDK_AutoInit: com.huawei.hms.common.ApiException: 907122036: no right
E HMSSDK_AutoInit: at com.huawei.hms.opendevice.a.a(ErrorEnum.java:272)
E HMSSDK_AutoInit: at com.huawei.hms.opendevice.k.doExecute(GetTokenTask.java:58)
E HMSSDK_AutoInit: at com.huawei.hms.opendevice.k.doExecute(GetTokenTask.java:34)
E HMSSDK_AutoInit: at com.huawei.hms.common.internal.TaskApiCall.onResponse(TaskApiCall.java:190)
Run Code Online (Sandbox Code Playgroud)
根据华为文档,此错误(“no right”)意味着该项目未启用 Push Kit。但是它已启用,我刚刚检查过。
我在我的主要工作项目中遇到了这个问题,我在其中添加了 AG 支持,并且在一个小型测试应用程序中也遇到了同样的问题。
主要工作项目 App ID:102982583 软件包:org.kman.skymail.huawei
小测试项目 App ID:102999567 包:org.kman.test1.huawei
我已经完成了所有(似乎)其他步骤:添加agconnect-services.json,启用插件“com.huawei.agconnect”,创建特殊的上传证书,上传.aab,将sha-256哈希添加到项目配置中,添加将_kit_auto_init_enabled推送到清单中,创建HmsMessageService的子类。