天道酬勤,学无止境

android-6.0-marshmallow

蓝牙 LE 在 android 6.0 上找不到任何设备(Bluetooth LE can't find any device on android 6.0)

问题 我正在构建一个从蓝牙设备接收数据并在 4.4.4 android 智能手机上功能齐全的应用程序。 但是当我在 6.0 版设备上尝试时,它找不到蓝牙设备。 我已在手机上激活位置,并在清单文件中添加了位置权限,但没有任何反应。 我在某处读到我必须请求用户的许可,我试图添加 ActivityCompat.requestPermissions(this,new String[]{Manifest.permission.ACCESS_FINE_LOCATION, Manifest.permission.ACCESS_COARSE_LOCATION}, 1001); //Any number 在我的活动的 onCreate 上,但我收到错误“无法解析符号 AcivityCompat”和“无法解析符号清单”... 我的 build.gradle 文件是: apply plugin: 'com.android.application' android { compileSdkVersion 28 buildToolsVersion '28.0.3' defaultConfig { applicationId "com.redbear.chat" minSdkVersion 18 targetSdkVersion 26 } buildTypes { release {

2021-10-26 02:49:50    分类:技术分享    android   bluetooth-lowenergy   android-support-library   android-6.0-marshmallow   android-appcompat

Android Marshmallow 只有声音通知?(Android Marshmallow sound only Notification?)

问题 在 Lollipop 及以下版本中,您可以通过在构建时省略图标、内容标题和内容文本来轻松发送仅声音通知,如下所示: NotificationCompat.Builder builder = new NotificationCompat.Builder(getApplicationContext()); builder.setSound(Uri.parse(ringtone)); notificationManager.notify(9998, builder.build()); 在 Marshmallow 中,我必须至少包含一个图标,否则会出现“无效小图标”异常。 我想使用通知系统,但并不总是想在通知栏中显示通知。 Marshmallow 是否可以做到这一点,或者我应该更改为使用媒体播放器播放通知声音,即使有时我或用户可能想要显示通知? 回答1 我在某处读到文档说需要图标,甚至认为在 Lollipop 及以下省略时它不会引发异常。 在研究了使用 MediaPlayer 之后,我最终决定使用 RintoneManager 来播放它。 我正在使用通知声音,所以不妨节省一些打字时间并快速完成 try { RingtoneManager.getRingtone(getApplicationContext(), Uri.parse(ringtone)).play(); } catch

2021-10-26 00:13:23    分类:技术分享    android   android-notifications   android-6.0-marshmallow

Android Marshmallow sound only Notification?

In Lollipop and below, you could easily send a sound only notification by omitting the icon, content title and content text when constructing, like so: NotificationCompat.Builder builder = new NotificationCompat.Builder(getApplicationContext()); builder.setSound(Uri.parse(ringtone)); notificationManager.notify(9998, builder.build()); In Marshmallow, I'm forced to include at least an icon, or I get a 'no valid small icon' exception. I want to use the Notification system, but don't always want to display a notification in the notification bar. Is this possible with Marshmallow, or should I

2021-10-25 12:04:35    分类:问答    android   android-notifications   android-6.0-marshmallow

Bluetooth LE can't find any device on android 6.0

I am building an app that receives data from bluetooth device and is fully functional on a 4.4.4 android smartphone. But when I try it on version 6.0 devices it does not find the bluetooth devices. I have activated location on the phone and I have added the permissions for location on manifest file but nothing happens. I have read somewhere that I have to request permission from the user and I have tried to add ActivityCompat.requestPermissions(this,new String[]{Manifest.permission.ACCESS_FINE_LOCATION, Manifest.permission.ACCESS_COARSE_LOCATION}, 1001); //Any number on my activity's onCreate

2021-10-25 11:56:19    分类:问答    android   bluetooth-lowenergy   android-support-library   android-6.0-marshmallow   android-appcompat

在 Android 版本 6 棉花糖中膨胀类 de.hdodenhof.circleimageview.CircleImageView 时出错(Error inflating class de.hdodenhof.circleimageview.CircleImageView in Android version 6 marshmallow)

问题 我创建了一个使用这个 hdodenhof CircleImageview库的应用程序。 我的应用程序在 Android 7 和 7.1 上运行良好,但在较低版本(如棉花糖/Android 6)中崩溃。我该如何解决这个问题? 我已经阅读了他的 GitHub 帖子,但它没有解决我的问题,因为人们要求从 .xml 中删除属性,但我没有使用这些属性。 这是我对 CircleImageView 的简单实现: <de.hdodenhof.circleimageview.CircleImageView android:id="@+id/civ_requests" android:layout_width="80sp" android:layout_height="80sp" android:layout_margin="10sp" android:src="@drawable/profilesvg" /> 这是错误: FATAL EXCEPTION: main Process: com.milind.locatemymate, PID: 4288 android.view.InflateException: Binary XML file line #0: Binary XML file line #0: Error inflating class de.hdodenhof

2021-10-22 20:29:44    分类:技术分享    android   android-layout   android-xml   android-6.0-marshmallow   layout-inflater

TelephonyManager.getAllCellInfo() return Null or displays Nothing

I'm facing an issue with getAllCellInfo(). App has permissions needed : here is my code : 1- listener private PhoneStateListener mPhoneStateListener = new PhoneStateListener() { @TargetApi(Build.VERSION_CODES.M) @Override public void onSignalStrengthsChanged(SignalStrength signalStrength) { super.onSignalStrengthsChanged(signalStrength); 2- Info from SignalStrength TextView comparisonText = (TextView) findViewById(R.id.textViewComparison); Object ssFieldValueRsrp = null; Object ssFieldValueRsrq = null; Object ssFieldValueRssnr = null; Object ssFieldValueCqi=null; try { Field

2021-10-21 16:06:20    分类:问答    android   android-studio   android-6.0-marshmallow   telephony   telephonymanager

一定时间后,警报管理器未设置或未在棉花糖上触发(AlarmManager not set or not firing on Marshmallow after certain time)

问题 我已经成功地使用以下构造在我的一些直到 Android 5 的应用程序中启动了一个 AlarmManager: Intent serviceIntent = new Intent(context, MyService.class); PendingIntent pi = PendingIntent.getService(context, alarmId, serviceIntent, PendingIntent.FLAG_UPDATE_CURRENT); DateTime inMinutes = (new DateTime()).plusMinutes(60); AlarmManager am = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE); am.set(AlarmManager.RTC_WAKEUP, inMinutes.getMillis(), pi); 但是自从 Marshmallow 以来,AlarmManager 要么没有设置,要么在一些空闲时间后不再触发。 似乎当前运行的警报会再触发一次,但随后不会设置新的警报。 我阅读了一些文档,很可能是关于 Marshmallow Doze 的。 所以我实现了以下(并检查它实际上正在执行): Intent serviceIntent = new

2021-10-20 15:55:06    分类:技术分享    android   alarmmanager   android-6.0-marshmallow   android-alarms   android-doze

AlarmManager not set or not firing on Marshmallow after certain time

I have been successfully using the following construct to start an AlarmManager in some of my apps upto Android 5: Intent serviceIntent = new Intent(context, MyService.class); PendingIntent pi = PendingIntent.getService(context, alarmId, serviceIntent, PendingIntent.FLAG_UPDATE_CURRENT); DateTime inMinutes = (new DateTime()).plusMinutes(60); AlarmManager am = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE); am.set(AlarmManager.RTC_WAKEUP, inMinutes.getMillis(), pi); But since Marshmallow, the AlarmManager is either not set or not firing any more after some idle time. It seems

2021-10-19 18:17:32    分类:问答    android   alarmmanager   android-6.0-marshmallow   android-alarms   android-doze

在三星 S5 上使用 Android 6.0 指纹 API 时未检测到指纹扫描仪(Fingerprint scanner not detected when using Android 6.0 Fingerprint API on Samsung S5)

问题 Androids 6.0 指纹 API 无法在三星 S5 上检测到我的指纹扫描仪。 屏幕锁定由指纹保护我在指纹管理器中注册了 2 个指纹我的 S5 更新到 android 6.0 指纹扫描仪工作正常,我用它来解锁我的手机我在安全设置中找不到任何与指纹有关的东西(被告知允许应用程序在此处访问指纹,但它不在上面) 在每个应用程序的应用程序信息中,说权限:没有权限请求但是在每个示例应用程序中我都尝试过这意味着他们确实请求权限......但是我没有看到请求弹出 我试过谷歌指纹扫描仪身份验证示例应用程序,我也试过这个应用程序 关于可能是什么问题的任何想法? 回答1 您正在使用三星设备不支持的 Android 指纹 API。您必须使用那里的指纹验证 SDK,即 Pass SDK。检查 Pass SDK 的此链接。 在 AndroidManifest.xml 文件中。 <uses-permission android:name="com.samsung.android.providers.context.permission.WRITE_USE_APP_FEATURE_SURVEY" /> 希望这有帮助。

2021-10-19 15:26:17    分类:技术分享    android   android-studio   android-6.0-marshmallow   fingerprint   android-fingerprint-api

读取外部存储时找不到文件异常(File not found exception when reading external storage)

问题 早些时候,代码运行良好,即使现在它也适用于 Android 6 之前的设备,但在我的 Nexus 5, 6.0.1 中,我无法从外部存储访问数据。 它显示文件未找到异常 java.io.FileNotFoundException: /storage/emulated/0/Download/********/*****: open failed: ENOENT (No such file or directory) 为了将数据写入存储,我要求运行时存储许可,这部分似乎没问题。 回答1 由于您的代码在 Pre-Marshmallow 设备中运行良好,看起来您尚未在应用中添加运行时权限。 从Android M开始,您需要在运行时请求权限,如文档中所述: 从 Android 6.0(API 级别 23)开始,用户在应用运行时授予应用权限,而不是在安装应用时授予权限。 在此处阅读有关在 Android 中在运行时请求权限的更多信息 回答2 在您的主要活动的onCreate()方法中进行此操作: if (currentapiVersion > android.os.Build.VERSION_CODES.LOLLIPOP){ // Do something for lollipop and above versions checkPermission(); if (

2021-10-19 14:52:44    分类:技术分享    android   android-6.0-marshmallow   android-permissions