小编Ser*_*des的帖子

AlarmManager无法在多个设备中运行

我的应用程序使用AlarmManager,它自4年前开始运作.但我注意到它在某些设备上开始失败.

我很确定代码是正确的(我正在使用WakefulBroadcastReceiver,而setExactAndAllowWhileIdle用于带有Doze的设备),因为它在Nexus设备上运行良好,但在一些制造商的设备中失败(华为,小米......).

例如,华为设备有一种杀死应用程序的电池管理器,当应用程序被杀时,预定的警报会被取消.因此,在华为电池管理器中将应用程序设置为"受保护"可以解决问题.

但最近我注意到它没有使用更多的设备:小米,三星(也许它与新的"智能管理器"有关?)......似乎这种行为正在成为标准:杀死后台应用程序.

有人知道吗?是否有任何方法可以确保报警?

android alarmmanager

81
推荐指数
3
解决办法
1万
查看次数

无法获得未知属性“manifestOutputDirectory”

我正在尝试使用 Android Studio“制作项目”,但出现此错误:

任务“:myApp:processGoogleDebugManifest”执行失败。

无法获取类型为 com.android.build.gradle.tasks.ProcessMultiApkApplicationManifest 的任务“:myApp:processGoogleDebugManifest”的未知属性“manifestOutputDirectory”。

请问有什么帮助吗?

编辑:此错误发生在我更新到 gradle v6.5 和插件 v4.1.0 之后。如果我恢复到 gradle v6.1.1 和插件 v4.0.0,错误就会消失。

android android-studio react-native huawei-mobile-services

35
推荐指数
2
解决办法
7082
查看次数

在java中获取日期的一个字母缩写

据我所知,在Java中我可以在正常(星期五)或短模式(星期五)获得工作日.但是,有没有办法只获得第一个字母?

我以为我可以使用"substring"获得第一个字母,但它对所有语言都不正确.例如,西班牙人的工作日是:Lunes,Martes,Miércoles,Jueves,Viernes,Sábado和Domingo,"Miércoles"的第一个字母是X而不是M,以区别于"Martes".

java format android date

15
推荐指数
3
解决办法
7615
查看次数

在Android应用上获取id令牌并在后端服务器上验证它(如何使用id令牌?)

我正在开发一个Android应用程序,它使用我自己的REST API服务器上的数据.我想使用Firebase身份验证,因为它允许用户以非常简单的方式使用Google,Facebook,Twitter ...进行登录.

但我不确定如何使用ID令牌:

  • 因为ID令牌有截止日期,我应该在客户端应用程序的每个请求上调用getToken方法,所以我确定每次都发送一个有效的令牌吗?
  • 每次收到客户端应用程序的请求时,我应该在服务器中调用verifyIdToken吗?

我不知道这些方法(getToken和verifyIdToken)是做什么的,并且因为它们是异步的,我担心它们会在每次调用时向Firebase服务器发出请求.所以我认为在我的每个请求中向Firebase服务器发出2个请求是不可取的...

android firebase firebase-authentication

15
推荐指数
2
解决办法
6768
查看次数

在Android上正确使用Sqlite(SQLiteOpenHelper,连接,主线程等......)

我在Android上搜索有关SQLite的信息,并阅读了一些关于Android编程的书籍的章节,但我不知道如何在Android上正确使用SQLite.

我正在开发一个包含Activities,Services和BroadcastReceivers的应用程序,所有这些应用程序都必须在数据库中读写数据.所以我有一些问题:

  • 创建SQLiteOpenHelper实例的最佳位置在哪里?我读到了这一点,似乎最好的方法是只SQLiteOpenHelper为所有的应用程序.
  • 何时何地,我需要SQLiteDatabase通过调用dbHelper.getReadableDatabase()(或getWritableDatabase)来获取对象?我需要在每个查询上执行此操作,在每次查询后关闭它吗?
  • 我读到我永远不应该在主线程中进行数据库操作,所以我在Activity中为每个数据库操作创建一个Async任务,这是最好的方法吗?

sqlite android

14
推荐指数
1
解决办法
1万
查看次数

由于权限被拒绝,MediaScannerConnection在Android 6上失败

我用一个MediaScannerConnection调用它SCANFILE方法,用于将图像添加到设备画廊.但是在Android 6中,当我执行它时会收到这些异常:

E/DatabaseUtils:java.lang.SecurityException异常:权限拒绝:读取com.android.providers.media.MediaProvider URI内容://媒体/外部/从PID = 22984 fs_id,UID = 10078要求android.permission.READ_EXTERNAL_STORAGE,或grantUriPermission ()

E/iu.UploadsManager:java.lang.SecurityException:Permission Denial:从pid = 22984读取com.android.providers.media.MediaProvider uri content:// media/external/fs_id,uid = 10078需要android.permission.READ_EXTERNAL_STORAGE,或grantUriPermission()

有帮助吗?

android-permissions android-6.0-marshmallow

9
推荐指数
0
解决办法
2829
查看次数

虽然设置了手机静音模式,但在Android通知中播放声音

我的应用程序正在显示通知,当显示通知时,会播放声音.但是当我的手机处于"静音模式"时,不会播放通知.我想"覆盖"音量设置,并播放声音虽然设置了静音模式.有办法吗?

audio notifications android silent

7
推荐指数
2
解决办法
8424
查看次数

如果我没有开始服务或活动,我是否需要在我的广播接收器中使用唤醒锁?

我有一个由警报调用的广播接收器(使用AlarmManager安排).在这个接收器中,我只是从数据库中查询寄存器,并启动通知.我认为当从广播接收器启动服务或活动时需要唤醒锁定,但是,如果我只想显示通知(在通知面板中),是否需要唤醒锁定?

android broadcastreceiver wakelock

6
推荐指数
1
解决办法
5634
查看次数

如何避免Google App Invites显示Snackbar?

有没有办法避免Google App Invites在发送邀请时显示Snackbar?或者我可以改变它显示的位置吗?

android google-app-invites

6
推荐指数
0
解决办法
99
查看次数

设置Android Things时区

在Raspberry Pi上安装Android Things后,时间不正确.我的时区是GMT + 2,使用date +%Z我看到RPi的时区是GMT.我该如何设置时区?

settings timezone raspberry-pi3 android-things

2
推荐指数
1
解决办法
2005
查看次数

调用准备(本地 mp3 文件)时,Android MediaPlayer 失败(状态 0x80000000)

我已经完成了一个游戏的开发,但很烦人,有时(是的,只是有时!)当我打开它时,它会失败,我可以在 logcat 中看到这个错误:java.io.IOException: Prepare failed.: status= 0x80000000。

很奇怪,因为它是本地文件(2MB mp3文件),不知道为什么会显示IOException。而且只是有时,并非总是...

编辑:这似乎与proguard有关,因为它只发生在发布版本......

android android-mediaplayer

1
推荐指数
1
解决办法
4204
查看次数