Articles of android 4.4 kitkat

半透明导航栏(Android 4.4) – 显示下面的内容

有谁知道如何使半透明的导航栏(在4.4)重叠,并显示内容视图(在这种情况下,一个ListView)在它下面? 如果在这个屏幕截图中显示为透明(这是我目前为我的雇主开发的应用程序),但是如果列表在屏幕底部下方显示,那么导航栏下的列表项将被覆盖,不能被看见。 我想要做的一个例子就是Nexus 5上Google Edition Launcher的Google Now组件。导航栏是完全透明的,并显示TextViews及其下的所有内容,这是导航栏的唯一部分button本身的轮廓。

KitKat:如何将APDU路由到SIM卡

我想将从NFC读卡器获得的APDU路由到SIM卡。 根据HCE文档,我认为只要创build一个带有相应路由条目的OffHostApduService(我就可以)就可以了。 可悲的是,SIM似乎没有得到任何APDU。 SELECT-SIM卡读卡器直接将SIM卡连接到我的工作站的命令将返回6a82(文件未find)。 在LogCat中,我发现了两个有趣的信息: 每次我发射select的命令,应该被路由到SIM,我得到这些条目: 01-14 10:44:18.501: D/BrcmNfcJni(1009): RoutingManager::stackCallback: event=0x17 01-14 10:44:18.501: D/BrcmNfcJni(1009): RoutingManager::stackCallback: NFA_CE_DATA_EVT; h=0x302; data len=12 01-14 10:44:18.501: D/HostEmulationManager(1009): notifyHostEmulationData 我认为这是线路设置不正确的一个线索,因为我认为当到SIM的路由select处于活动状态时,Android OS不应该知道,并且select或者另一个命令被发送到SIM。 每当我从阅读器的NFC字段中删除手机,我收到以下错误: 01-14 10:46:48.791: E/BrcmNfcNfa(1009): UICC[0x0] is not activated 我试图跟踪这个错误的原因,发现这似乎属于Broadcom NFC驱动程序的文件external/libnfc-nci/src/nfa/ce/nfa_ce_act.chere 。 我认为错误的是应用程序无法为APDU设置正确的路由,因为驱动程序认为SIM没有被激活。 在发送命令的时刻,SIM卡被解锁(PIN-Entry),但是我怀疑这与SIM卡有什么关系,因为在使用卡片读卡器之前我不必解锁SIM卡。 我使用Nexus 5进行testing。 有没有人有经验和/或工作的例子,A​​PDU可以路由到SIM而不是CPU?

Android 4.4中的自定义视图构造函数在Kotlin上崩溃,如何修复?

我有一个使用JvmOverloads写在Kotlin的自定义视图,我可以有默认值。 class MyView @JvmOverloads constructor( context: Context, attrs: AttributeSet? = null, defStyle: Int = 0, defStyleRes: Int = 0 ) : LinearLayout(context, attrs, defStyle, defStyleRes) 在Android 5.1及以上版本中,所有工作都很好。 然而它在4.4中崩溃,因为4.4中的构造函数没有defStyleRes 。 我怎么能支持5.1及以上的版本,我可以defStyleRes但不是在4.4,而不需要明确有4个构造函数定义像我们在Java中所做的? 注意:下面的4.4可以正常工作,但是我们defStyleRes了defStyleRes 。 class MyView @JvmOverloads constructor( context: Context, attrs: AttributeSet? = null, defStyle: Int = 0 ) : LinearLayout(context, attrs, defStyle)

Android:工具栏状态栏重叠

我正在创build一个具有半透明状态栏的棒棒糖工具栏的应用程序,使状态栏也有色。 它与真正的财产正常工作。 只是工具栏与现在的状态栏重叠,看起来很乱。 在保持窗口半透明状态的状态栏下面放置工具栏的选项是什么? 代码片段: <style name="Theme.XXX" parent="Theme.AppCompat"> <item name="colorPrimary">…</item> <item name="colorPrimaryDark">…</item> <item name="android:windowTranslucentStatus">true</item> <item name="windowActionBar">false</item> <item name="colorAccent">…</item> </style> 活动中使用的工具栏代码: <android.support.v7.widget.Toolbar android:id="@+id/main_toolbar" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="@color/XXX" android:elevation="5dp" android:minHeight="?attr/actionBarSize" android:theme="@style/Theme.XXX" /> 提前致谢。

交互设置屏幕locking设置

我想在KitKat中将screenlock模式设置为None,所以我可以运行CTS。 我从Intrinsyc使用DragonBoard APQ8074进行开发,他们刚刚发布了Android KitKat 4.4.2的BSP。 麻烦的是,它是不稳定的,设置中的安全菜单崩溃。 所以我不能使用adb shell来input keyevents 19, 20, 21, 22, 23来导航。 adb shell settings命令似乎应该为此工作,但事实并非如此。 我尝试了这些命令对4.2,4.3和4.4,他们似乎分配的值,但他们不会在视觉上导致任何改变。 shell@msm8974:/ $ settings get system lockscreen_disabled null shell@msm8974:/ $ settings put system lockscreen_disabled true shell@msm8974:/ $ settings get system lockscreen_disabled true shell@msm8974:/ $ settings get system screen_brightness 102 shell@msm8974:/ $ settings put system screen_brightness 255 shell@msm8974:/ $ […]

在kitkat上配合系统窗口和额外的填充

我有一个ListView的活动与这样的操作栏: <LinearLayout xmlns:tools="http://schemas.android.com/tools" xmlns:android="http://schemas.android.com/apk/res/android" tools:context=".LauncherActivity" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <ListView android:id="@+id/lvcalendar" android:layout_width="fill_parent" android:layout_height="fill_parent" android:clipToPadding="false" android:fitsSystemWindows="true" android:dividerHeight="10dp" android:paddingTop="10dp" android:paddingBottom="10dp" android:divider="#00ffffff" android:scrollbarThumbVertical="@drawable/scrollbarstyle" android:layout_gravity="top" android:listSelector="@android:color/transparent" /> </LinearLayout> 活动主题有: <item name="android:windowTranslucentStatus">true</item> <item name="android:windowTranslucentNavigation">true</item> 在Kitkat设备下,行为是我想要的:这些项目在底部和顶部有10dp的填充。 在kitkat设备上,paddingTop和paddingBottom似乎没有任何效果,因为ListView的项目没有顶部和底部的10dp填充。 我认为这个问题是在android:fitsSystemWindows某处,因为这个属性似乎设置了必要的填充视图,因为半透明的装饰,并使android:padding*属性被忽略。 我的问题是 :无论如何,所以我可以把android:fitsSystemWindows设置为true ,仍然在视图上添加额外的填充?

自定义提醒对话框在Android 4.x上看起来很奇怪

我想在我的Android应用程序中自定义警报对话框,所以我开始通过更改我的应用程序主题的alertDialogTheme属性,如下所示: RES /值/的themes.xml <resources> <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar"> <item name="android:alertDialogTheme">@style/AlertDialogTheme</item> </style> <style name="AlertDialogTheme" parent="Theme.AppCompat.Light.Dialog.Alert"/> </resources> 就这样做,我不希望对话看起来与标准不同,因为新的主题AlertDialogTheme是完全相同的父母。 它在Android棒棒糖上正常工作,但在Android Kitkat中,对话框后面出现一个白色矩形。 以下是它的样子: 我做错了什么? 也许使用错误的父母? 谢谢!

AlarmManager在Android 4.4.2中停止工作(使用SetExact())

我在我的代码中设置了一个闹钟,在特定的时间closures。 报警机制在SDK <19上运行良好,但在19上报警不被触发。 这里是我设置闹钟的代码: public void SetAlarm(Context context, Long executionTime) { AlarmManager am = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE); Intent intent = new Intent(context, AlarmReciever.class); PendingIntent pi = PendingIntent.getBroadcast(context, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT); // Only one alarm can live, so cancel previous. am.cancel(pi); if (Build.VERSION.SDK_INT < Build.VERSION_CODES.KITKAT) { am.set(AlarmManager.RTC_WAKEUP, executionTime, pi); } else { setAlarmFromKitkat(am, executionTime, pi); } } […]

Android KitKat HttpURLConnection断开AsyncTask

在我的应用程序中,我使用AsyncTask中的HttpURLConnection下载了一个文件。 如果文件下载时间过长,我想取消它; 我通过closuresstream并调用HttpURLConnection对象上的disconnect()来完成此操作。 该代码在Android中已经运行了多年。 但是,现在KitKat已经出来,问题已经出现了。 具体来说, disconnect()调用本身需要几秒钟或更长时间才能完成。 在KitKat之前的设备中,花费了一毫秒甚至更less的时间。 真奇怪的是,当我在一个单独的线程上执行断开连接调用时,它真的又快了。 所以在AsyncTask的doInBackground方法中调用它就成了一个问题。 有一点要注意的是,我的AsyncTask确实有一个Looper.prepare()调用。 有谁知道KitKat和其他Android版本有什么区别吗? 我梳理了更改列表,没有看到与这个问题有关的任何事情。

Android是强制杀死我的启动BT连接

我已经用Apache cordova为Android写了一个启动器应用程序。 这是一个类似自助亭的应用程序,基本上它工作正常。 不幸的是有一个问题:在某些情况下Android是强制杀死我的应用程序,并立即重新启动它。 – 加载大概需要3秒钟,在那里显示一个白色的屏幕。 它开始全新(onPause,onResume不被调用)。 在日志中我发现: V/WindowManager( 657): Changing focus from Window{42544288 u0 com.android.settings/com.android.settings.SubSettings} to Window{428ad610 u0 com.android.settings/com.android.settings.SubSettings} Callers=com.android.server.wm.WindowManagerService.addWindow:2665 com.android.server.wm.Session.addToDisplay:163 android.view.IWindowSession$Stub.onTransact:111 com.android.server.wm.Session.onTransact:126 I/WindowManager( 657): Gaining focus: Window{428ad610 u0 com.android.settings/com.android.settings.SubSettings} … I/ActivityManager( 657): Force stopping com.myapp.name appid=10119 user=0: clear data I/ActivityManager( 657): Killing 2639:com.myapp.name/u0a119 (adj 7): stop com.myapp.name I/ActivityManager( 657): Force finishing activity ActivityRecord{42542218 […]