- 博客(16)
- 收藏
- 关注
原创 not found libc++.so
问题:install 安装依赖有so库的apk,无法正常加载so。报错:not found libc++.so比如:System.loadLibrary(“InitTest”);分析:工具在 android/prebuilts/tools/gcc-sdk,运行下面命令:readelf -dW libInitTest.so可以查看 libInitTest.so 的动态依赖库。其中依赖了 libc++.soAndroid N 开始,Google收缩了 so 库的依赖权限。只有 system/
2021-06-22 15:20:51
2231
1
原创 Android Widget
Android Widget 相关记录RemoteViews资源 ID 和 Action 的容器AppWidgetManagerWidget 更新管理器尽量使用 partiallyUpdateAppWidgetIds() 函数更新 Widget 。使用 updateAppWidgetProvider() 函数时,每次都需要对 RemoteViews 对象进行初始化。否则 addAction() 过多,会超出 binder 的跨进程数据传输极限。...
2021-05-18 19:38:53
364
原创 Android framework修改竖屏(默认横屏),基于Android 9的Car_product
方案一:修改 PhoneWindowManager.java注:这种方案竖屏不包括开机动画。在rotationForOrientationLw() 方法中做如下修改:方案二:修改SurfaceFlinger.cpp修改如下:
2021-02-23 17:27:44
1504
原创 Android ViewSwitcher
Android ViewSwitcher1. 用作两个View切换,布局如下:2. 控制两个View的切换3. 添加切换动画1. 用作两个View切换,布局如下:<ViewSwitcher android:id="@+id/viewSwitcher" android:layout_width="match_parent" android:layout_height="match_parent"> <TextView android:id=
2021-02-18 10:36:30
2321
原创 Android分屏记录
分屏记录 // 设置分屏应用(页面)的位置大小 Rect bounds = new Rect(400, 600, 1200, 1800); // 设置Activity配置 ActivityOptions options = ActivityOptions.makeBasic(); // 设置分屏模式:自由模式 try { Method method = ActivityOptions.class.getMethod(getWindowingModeM
2021-01-06 17:46:42
583
1
原创 Android 调节响铃音量
Android 调节响铃音量var audioManager = getSystemService(Context.AUDIO_SERVICE) as AudioManageraudioManager.setStreamVolume(AudioManager.STREAM_ALARM, 3, AudioManager.FLAG_SHOW_UI)
2021-01-05 17:02:47
224
原创 Android 音频
https://github.com/xitu/gold-miner/blob/master/TODO/audio-focus-1.mdhttps://github.com/xitu/gold-miner/blob/master/TODO/audio-focus-2.mdhttps://github.com/xitu/gold-miner/blob/master/TODO/audio-focus-3.md
2020-11-10 16:36:31
116
原创 adb 常用命令记录
adb 常用命令记录adb shell // 进入系统adb shell ls // 查看设备文件夹adb devices // 查看连接的设备adb -s 设备名 shell // 进入指定设备系统adb shell dumpsys battery // 查看系统电池服务adb shell dumpsys wifi // 查看系统WIFI信息adb shell dumpsys power // 查看系统电源相关信息adb shell dumpsys telephony.registry
2020-11-09 16:40:36
224
原创 android 通过包名启动应用
通过包名启动应用 /** * 通过包名启动应用 * 如果需要启动的应用在任务栈中,则直接启动的这个应用的任务栈的顶端 activity * 否则启动 MainActivity */ fun launchApp(context: Context, packageName: String) { var mainActivity: String? = null val packageManager = packageManag
2020-06-23 15:44:10
1486
原创 Activity 的启动模式记录
1. Activity的四种启动模式Standard : 默认启动模式,在当前应用栈中“先进后出”SingTop: 栈顶复用模式,复用已在栈顶的 Activity ,调用 onNewIntent(); 不在栈顶的时候,同 StandardSingTask:栈内复用模式,复用已在栈内的 Activity ,调用 onNewIntent();不在栈内的时候,同 StandardSingInstance:单例模式,创建一个共享的单栈 Activity ,调用 onNewIntent()动态设置的启动模式
2020-06-23 11:30:27
1058
1
原创 Android 获取屏幕尺寸以及状态栏和导航栏高度
获取屏幕尺寸windowManager = (WindowManager) getSystemService(WINDOW_SERVICE);Point point = new Point();// 获取屏幕物理尺寸windowManager.getDefaultDisplay().getRealSize(point);// 获取屏幕测量尺寸windowManager.getDefaultDisplay().getSize(point); 获取状态栏高度...
2020-06-23 09:10:42
3002
原创 Android View 的 SYSTEM_UI_FLAG 效果记录
SYSTEM_UI_FLAG_ 效果记录SYSTEM_UI_FLAG_VISIBLE系统默认,显示状态栏SYSTEM_UI_FLAG_LOW_PROFILE状态栏低亮度,用于游戏、阅读器、视频等,下拉状态栏后恢复原始状态SYSTEM_UI_FLAG_HIDE_NAVIGATION单独使用导航栏隐藏,结合 SYSTEM_UI_FLAG_FULLSCREEN 和 SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN 使用,状态栏和导航栏都隐藏SYSTEM_UI_FLAG_FULLSCR
2020-06-16 17:31:46
4016
原创 Git 常用命令记录
Git 常用命令git config user.name // 查看用户名git config user.email // 查看邮箱git config --global user.name “name” // 修改用户名git config --global user.email “email” // 修改邮箱git config --global core.longpaths true // 解决文件名太长问题git clone url -b branch // 拉取指定分支代码git b
2020-06-16 13:34:23
242
原创 分离debug和release资源文件和代码
分离debug和release资源文件和代码1.在 build.gradle 中添加如下代码(部分代码)。android { sourceSets { debug { manifest.srcFile 'src/debug/AndroidManifest.xml' } release { manifest.srcFile 'src/main/AndroidManifest.xml'
2020-06-11 17:31:16
1002
原创 解决全屏状态下,PopupWindow弹出,导致状态栏和导航栏弹出问题。
1.问题全屏状态下,PopupWindow 设置 setFocusable(true) , 会导致弹出 PopupWindow 的时候,状态栏和导航栏弹出。2.解决方案直接上代码:private static final int FULL_SCREEN_FLAG = View.SYSTEM_UI_FLAG_LAYOUT_STABLE | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION | View.SYSTE
2020-05-28 16:40:20
4213
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人