在android 5.0 lollipop上,带有长文本的对话按钮没有被包裹/被挤压的材料主题
在棒棒糖上优化材料主题的应用程序时,我遇到了这个烦人的问题: 每当对话框按钮上有长文本时,总共不符合按钮栏的宽度,文本不会像以前的主题那样包裹在多行中.相反 屏幕截图: 到目前为止,我已经花了很多时间在这个问题上,这是我在互联网上找到的唯一主题是: https://code.google.com/p/android/android/android/issues/detail ?id = 78302 所以我在那里接受建议,然后在这里问这个问题. 我尝试过的是查看源(按钮定义了maxlines = 2),并在按钮barstyle和buttonbarbuttonstyle上更改不同的参数,但没有成功. 我正在寻找一个简单的样式解决方案,因此不想使用第三方库. 这可能只是模拟器问题吗?我不这么认为. 非常感谢帮助.预先感谢. 编辑: 要跟进,请参阅我自己的回答,从12月3日开始,这不是解决方案. 解决方案 为有兴趣的人总结此主题: And
安卓5.0 Lollipop系统中,带有Spannable的按钮setText不起作用。
我有一个简单的Button: 尝试更改文本属性: SpannableString span = new SpannableString(text); span.setSpan(new AbsoluteSizeSpan(8, true), 5, 10, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); testButton.setText(span); 它在Android 4.3上工作,但在5.0上不使用. 有趣的是,当我将实现从Button更改为TextView时,它在5.0上正常工作.似乎是Lollipop中的Button.
0 2024-04-05
编程技术问答社区
失败 [INSTALL_FAILED_OLDER_SDK] Manifest合并失败的错误 : uses-sdk:minSdkVersion 15不能小于版本L
最近我收到了这个错误. Manifest merger failed : uses-sdk:minSdkVersion 11 cannot be smaller than version L 所以我将其更改为 minSdkVersion 'L' ,然后我得到了这个错误 失败[install_failed_older_sdk] 所以我想我没有正确解决第一个错误. 我不确定该怎么做.我一直在关注: 清单合并失败:useSdk:minsdkversion:minsdkversion 14 注释/297xli/howto_use_the_v21_support_libs_on_older_versions/ ,但奇怪的是没有运气. 这就是我所拥有的: apply plugin: 'android' android { compileSdkVersion 21 buildToolsVersion '20
更新到最新的appcompat和支持库后的DexIndexOverflowException问题
我正在使用以下设置gradle: compileSdkVersion 21 ANDROID_BUILD_MIN_SDK_VERSION=14 ANDROID_BUILD_TARGET_SDK_VERSION=21 ANDROID_BUILD_TOOLS_VERSION=21.0.2 ANDROID_BUILD_SDK_VERSION=21 我在Gradle文件中也有以下设置: compile 'com.android.support:support-annotations:21.0.0' compile 'com.android.support:appcompat-v7:21.0.0' compile 'com.android.support:support-v4:21.0.0' 我总是得到错误UNEXPECTED TOP LEVEL EXCEPTION. 但是,当我将21.0.0 to 20.0.0进行21.0.0时,它可以正常工作...但是我无法访问任何Andr
在Android Lollipop上ConnectivityManager.EXTRA_NO_CONNECTIVITY始终为假。
我正在使用此代码来检测Internet连接状态变化.它在Android intent.getExtras().getBoolean(ConnectivityManager.EXTRA_NO_CONNECTIVITY) 总是错误的.如何使此代码在Android 5.0上使用? 我的广播员: public class NetworkStateReceiver extends BroadcastReceiver { @Override public void onReceive(final Context context, final Intent intent) { if(intent.getExtras()!=null) { final ConnectivityManager connectivityManager = (ConnectivityManager)context.getSystemService(Con
0 2024-04-03
编程技术问答社区
为什么这个广播接收器不能在Lollipop中工作?
我在清单中声明了此广播接收器: 每当用户解开并打开屏幕时,它就会做事.它在Jellybean 4.3且较低的位置完美. 为什么它在Lollipop中不起作用? (我已经知道系统发送了这种意图,我想要的是用我的接收器检测) 解决方案 好吧,我通过添加两件事来解决问题:一个许可和接收器的意图过滤器中的类别标签.清单中的一切:
Android L开发者预览版软件包丢失?
我正在尝试使用Android L Developer Preview SDK,特别是蓝牙低能类别.我设置compileSdkVersion 'android-L',minSdkVersion 'L'和targetSdkVersion 'L'.我可以在"外部库"下看到L平台SDK,但是当我去看看Android.jar中的内容时,android.bluetooth.le woppain缺少.因此,我无法使用任何蓝牙LE类,例如蓝牙和scancallback.有人知道如何解决此问题吗? 解决方案 我猜这是Android Studio中的一个错误(还有其他一些API也已报告了)... 如果您写类似: BluetoothAdapter adapter = BluetoothAdapter.getDefaultAdapter(); android.bluetooth.le.BluetoothLeScanner scanner = adapter.getBluetoothLeSca
0 2024-04-01
编程技术问答社区
蓝牙低能量可用设备列表视图
我正在为Android 5.0及上部的应用程序工作,我需要在listView上显示所有可用的蓝牙低能设备,然后,当单击设备时,我需要保存其Mac adress和连接到它.问题是它甚至没有显示可用的设备.经过大量尝试,我终于得到了此代码: package com.sma.javier.sma_q.BluetoothLE; import android.app.Activity; import android.bluetooth.BluetoothAdapter; import android.bluetooth.BluetoothDevice; import android.bluetooth.BluetoothGatt; import android.bluetooth.BluetoothGattCallback; import android.bluetooth.BluetoothGattCharacteristic; import android.bluetooth.Blue
0 2024-04-01
编程技术问答社区
你能在安卓5.0中唯一地识别一个BLE MAC地址吗?
在Android 5.0中,BLE不再使用静态MAC地址,但是Mac在间隔后使用了一种称为IRK和公共密钥加密的方法. 是否可以以无法由该手机的用户欺骗的方式唯一地识别Android手机,或者现在完全不可能识别Android手机,除非另一侧合作? 解决方案 不,这是不可能的.这就是使用烦恼的整个想法:唯一的粘合设备可以在地址更改后识别它.对于那些没有生气的人(因为他们没有结合),它总是看起来是一种全新的设备(因此是隐私). 其他解决方案 使用在上一个配对/键合过程中交换的设备生成私人地址.因此,如果他们没有绑定,您就不会生气.
10 2024-04-01
编程技术问答社区
蓝牙Gatt回调在Lollipop的新API下无法工作
我目前有一种写信给BLE设备来发出哔哔声的方法.我的蓝牙回调如下: ReadCharacteristic rc = new ReadCharacteristic(context, ds.getMacAddress(), serviceUUID, UUID.fromString(myUUID), "") { @Override public void onRead() { Log.w(TAG, "callDevice onRead"); try{Thread.sleep(1000);}catch(InterruptedException ex){} WriteCharacteristic wc = new WriteCharacteristic(activity, context, getMacAddr
在Android 5.0 Lollipop上检测到的BLE startScan设备减少了
简短版本: 在与Android 5.0 Lollipop的测试中,我注意到比Android 4.4 Kitkat检测到BLE设备的频率较低.为什么这是一个替代方案? 长版本: 我正在开发专门针对Nexus 7片剂的Android应用程序,该应用集中在检测蓝牙低能(BLE)设备上.该应用主要对信标的RSSI值感兴趣,以确定其靠近平板电脑.这意味着我不需要连接到BLE设备,因为检测到设备时的RSSI值将传递给扫描回调. 在Android 4.4 Kitkat中,当我调用BluetoothAdapter.startLeScan(LeScanCallback)时,每个检测到的BLE设备只会调用一次. (我已经看过一些讨论声称这种行为每个设备可能会有所不同),但是,我对不断变化的RSSI值感兴趣,因此当前推荐的方法是用设定的间隔不断地震惊和拖车(在我的情况下为250ms): public class TheOldWay { private static fi
有什么办法可以在Android-L预览版中实现BLE通知?
这个问题与Android Notificatinos无关,而是通知(因为标题可能会提示) 我有在Android-L上工作的基本BLE外围模式 是否有任何方法可以在Android-L预览中实现BLE通知.我可以做一些像以下事情这样的事情,以使一名Charecteritic能够通知,但要聆听 BluetoothGattCharacteristic firstServiceChar = new BluetoothGattCharacteristic( UUID.fromString(serviceOneCharUuid), BluetoothGattCharacteristic.PROPERTY_NOTIFY, BluetoothGattCharacteristic.PERMISSION_READ ); 但是在iOS上的LightBlue应用中,我无法订阅此特征.当订阅炭时(像iOS中的字符一样) 时,没有API可以用来响
4 2024-04-01
编程技术问答社区
安卓5的静态蓝牙MAC地址用于BLE广告
Android 5引入了BLE MAC地址旋转以增加隐私.每次调用bluetoothleadvertiser.startadvertising()时,更改了Mac-Address. 是否可以禁用地址旋转,并且只需在蓝牙光线视图器的整个生命中使用相同的MAC地址吗? 解决方案 MAC地址是一个物理地址,不会更改.在BLE术语中,它是BR/EDR的公共设备地址或BD_ADDR.我没有尝试过,但是使用ReadAddress()阅读它,每次都应返回相同的值. Android的BLE框架在广告时不会使用该地址.相反,它可以通过使用私人解析地址来实现隐私,该地址可能每隔几分钟左右更改一次,但仍然允许使用债券的设备使用Bonding时交换的IRK识别它. 出于明显的隐私原因,Android的BLE框架不允许您设置控制器在广告时使用公共地址.因此,您无法禁用"旋转地址". 其他解决方案 您可以禁用BLE隐私功能以避免MAC地址旋转, 并如下更改Bluedroid源代码:
0 2024-04-01
编程技术问答社区
BLE扫描的解决方案'SCAN_FAILED_APPLICATION_REGISTRATION_FAILED?
我的Android应用程序扫描ble设备,从某个点开始,它开始使用错误代码2( scancallback.scan_failed_application_registration_failed_failed ).我正在使用Nexus 9,5.0.1 Lollipop. 即使我重新推出了该应用程序,这个问题仍在继续,当我从设置中重新启动蓝牙服务时,我终于可以摆脱问题了.但是这个问题反复出现,我认为我以错误的方式编码.与BLE相关的API是新的,几乎没有信息. 有人知道此错误的一般解决方案,最好不需要重新启动蓝牙服务?即使此错误代码已在Android API参考中记录下来,我也不知道如何正确处理它. 解决方案 当您获得错误时 SCAN_FAILED_APPLICATION_REGISTRATION_FAILED 您应该禁用蓝牙adapter BluetoothAdapter.getDefaultAdapter().disable(); 禁用蓝牙植物,事
4 2024-04-01
编程技术问答社区
支持Android 5 BLE外围模式的芯片组/设备
**到目前为止已知的设备概述: Nexus 6, Nexus 9, Moto E 4G LTE, LG G4, Galaxy S6, 三星Galaxy S5(SM-G900M型号), Nexus 5x, 索尼Xperia Z5紧凑型, 三星Galaxy Tab S2 ** **另请参阅 https://altbeacon.github. io/android-beacon-library/beacon-transmitter-devices.html ** Android 5释放的新功能之一是支持蓝牙低能外围模式.虽然它被提升为独立于使用的设备工作,但似乎是芯片组依赖的(请参阅bluetoothadapter.java中的ismultiaDvertisementsupported()函数). 它适用于Nexus 5,但对Nexus 7不起作用(外围支持Android-L示例,但由于其芯片组而可能永远无法使用?).另外 https://code.google.com/p/
2 2024-04-01
编程技术问答社区
java.io.IOException: read failed, socket might closed or timeout, read ret: -1 on Android 5.0.1 Lollipop version
我正在与蓝牙设备进行蓝牙插座连接,并想从设备读取字节. 我已经正确建立了连接: try { Method m = mmDevice.getClass().getMethod("createRfcommSocket", new Class[] { int.class }); temp = (BluetoothSocket) m.invoke(mmDevice, 1); } catch (Exception e) { } 我从蓝牙设备正确读取字节. 我有例外: java.io.ioexception:阅读失败,套接字可能关闭或超时,阅读 ret:-1 因此,连接断开,并且在我的设备和蓝牙设备之间也结束了通信. 这个问题正在Android 5.0.1棒棒糖上,特别是 任何人都可以解决吗? 解决方案 使用createRfcommSocketToServiceRecord而不是createRfcomm
12 2024-04-01
编程技术问答社区