草庐IT

android - Android Oreo 缺少 Google cast sdk v3 通知

将appcompat和mediarouter版本26.0.2与play-services-cast-framework版本11.2.2结合使用,默认的转换通知不会在androidOreo设备上显示(适用于Oreo之前的设备)。这似乎与sdk没有请求他的通知channel有关。这是我的CastOptionsProvider文件:publicclassCastOptionsProviderimplementsOptionsProvider{@OverridepublicCastOptionsgetCastOptions(ContextappContext){ListbuttonAction

java - 如何在 android oreo 中运行持续的后台服务?

我一直在扫描BLE设备。现在在androidoreo中,操作系统会自动关闭服务,有没有办法在应用程序被杀死后进行扫描?我探索过1.)带通知的前台服务[糟糕的用户体验]2.)周期性作业调度[低效]3.)使用无障碍服务[android扫除使用它而不帮助残疾人的应用程序]或者有没有办法获得事先批准?如果我遗漏了什么,请告诉我 最佳答案 对于全功率扫描,您对选项的总结是准确的。我写了一个blogpost关于这一点,权衡了不同选择的利弊。在AndroidBeaconLibrary我们默认选择使用JobScheduler。这最多可以在后台每15

java - 当 App 在 Oreo 中被杀死时广播接收器不工作为什么?

我如何在Oreo中使用广播接收器接收传入消息的数据,它在Oreo之前的版本中工作完美,但我无法在Oreo中接收,我试图在开发者网站的帮助下缩短它但没有那里给出了这个唯一的奥利奥限制的任何示例代码这是我的广播接收器类publicclassSMSReceiverextendsBroadcastReceiver{Stringsender,message;publicvoidonReceive(Contextcontext,Intentintent){BundlemyBundle=intent.getExtras();SmsMessage[]messages=null;StringstrMes

Android Oreo 如何从 uri 获取真实路径?

我正在使用此代码从URI获取真实路径。它在工作棉花糖但不是奥利奥:privateStringgetPathNew(Activityactivity,Uriuri){if(isDownloadsDocument(uri)){finalStringid=DocumentsContract.getDocumentId(uri);finalUricontentUri=ContentUris.withAppendedId(Uri.parse("content://downloads/public_downloads"),Long.valueOf(id));returngetDataColumn(

android - 我可以在前台服务中使用 Android Beacon 库吗,即使是在 Android 8 (Oreo) 上?

我想要实现的目标我正在为一个购物中心开发一个应用程序,其中安装了大量的信标,彼此之间的距离不太远(假设距离约为20米)。当用户走进这个商场时,即使没有打开应用程序,应用程序也需要不断扫描信标。当检测到信标时,我将查询服务器以询问我是否需要以及向用户推送什么本地通知。我打算做什么我最初的计划是创建一个Service,在onStartCommand()中返回START_STICKY以确保该服务会自行重启甚至该应用程序也被任务管理器杀死。此服务将持续扫描信标。其实这是我同事现有的做法。根据这位同事的说法,该服务几乎是在应用程序被任务管理器终止后立即启动的。问题但是很快我发现这种做法是有问题的

Android Oreo 电池优化导致 FCM 延迟

我已经完全按照if的文档实现了FCM:我有这样的服务公共(public)类TCMessagingService扩展FirebaseMessagingService我已经在list中这样声明了它:我使用SDK级别25进行定位和编译,我的firebase版本是10.2.1。现在的问题是,在Android8.0上,有时我收到推送通知时会有很大的延迟。它可能会在几分钟后出现。但这并不总是如此,有时事情就像预期的那样工作,推送通知来得非常快。我尝试将FCM版本更新到最新版本,但这没有帮助。但是当我在设置中关闭我的应用程序的电池优化时,一切正常。但这不是解决方案。如何使FCM在Android8.0

android - 启动 APK 安装器 Oreo

我已经让这段代码工作了一段时间,但在AndroidOrea上它不起作用。Contextcontext=mContextRef.get();if(context==null){return;}//GettheupdateStringfilepath=getDownloadLocation();FileapkFile=newFile(filepath);UrifileLoc;Intentintent;if(Build.VERSION.SDK_INT>=Build.VERSION_CODES.N){intent=newIntent(Intent.ACTION_INSTALL_PACKAGE)

android - Android Oreo 8.0 中 onPause 之前调用的新 Fragment 的 onResume

我在使用androidOreo时遇到了麻烦。我的MainActivity有4个fragment,只要用户按下选项卡,它们就会相互替换。现在的问题是,我在onPause的单例实例中保存了一个值。每当用户按下下一个选项卡时,该fragment的onResume在onPause之前被调用,因此我无法从单例中正确检索值。 最佳答案 请将setReorderingAllowed设置为false以获得正常的fragment生命周期。if (Build.VERSION.SDK_INT >=Build.VERSION_CODES.O){fragme

Android Oreo 为 EditText 禁用自动填充

我正在尝试为除登录屏幕之外的所有EditText禁用自动填充。而且还没有成功。在editText上的longPress之后总是有“自动填充”选项。rootView的IMPORTANT_FOR_AUTOFILL_NO_EXCLUDE_DESCENDANTS或View的IMPORTANT_FOR_AUTOFILL_NO根本没有效果。有什么想法吗?谢谢。 最佳答案 您可以将“否”传递给importantForAutofill例如 关于AndroidOreo为EditText禁用自动填充,我们在

android - 如何在不显示通知的情况下在 Oreo 中设置徽章计数?

我曾经使用thislibrary在应用程序图标中显示数字如下:ShortcutBadger.applyCount(context,numberToShow);OneSignal在其AndroidSDK中也具有相同的功能。现在在Oreo中,随着通知channel的引入,事情对我来说变得复杂了。我可以创建一个channel。然后,我还可以创建一个通知,如下所示:publicstaticvoidcreateNotification(Contextcontext,intnumberToShow){Notificationnotification=newNotificationCompat.Bu