安卓开发
sinat_22949049
这个作者很懒,什么都没留下…
展开
-
Android监听系统通知收不到问题
我们继承NotificationListenerService类时,可以在onNotificationPosted中接收到系统通知。但是有时开机后第一次接收不到,经过排查发现是没有注册成功,onListenerConnected()没有被回调这时我们就需要再手动去注册一次,方法如下:private void registerNotify(){ try { Class clazz = Class.forName("android.service.notification.No原创 2022-01-17 19:14:34 · 2596 阅读 · 0 评论 -
Windows下使用platform.pk8 和platform.x509.pem生成jks签名文件
平常工作中用android studio开发系统app需要用到系统签名,但是直接用java -jar signapk.jar platform.x509.pem platform.pk8 app-release.apk appSign.apk签名较为繁琐,如果能生成jks签名文件,打包时候自动签名完成就更合适不过了。在这里将生成jks的方式记录出来分享给大家...转载 2021-06-18 12:05:38 · 1324 阅读 · 1 评论 -
Android 连接蓝牙耳机后视频通话无声音问题
最近客户反馈,手机连接蓝牙耳机后,app内的视频通话功能没有声音,但是播放音乐是正常的。发现原来是没有打开sco通道。解决方法如下:private void openSco(){ if (!audioManager.isBluetoothScoAvailableOffCall()) { Log.d(TAG, "系统不支持蓝牙录音"); return;...原创 2020-03-03 19:28:38 · 7880 阅读 · 0 评论 -
音视频测试地址
在线视频地址https://media.w3.org/2010/05/sintel/trailer.mp4http://clips.vorwaerts-gmbh.de/big_buck_bunny.mp4http://vjs.zencdn.net/v/oceans.mp4https://media.w3.org/2010/05/sintel/trailer.mp4http://...原创 2020-01-20 13:41:34 · 2820 阅读 · 0 评论 -
Android应用设置为Launcher时onCreate启动俩次的问题
解决方案:为MainActivity添加属性android:configChanges="keyboardHidden|orientation|screenSize|locale|screenLayout|mcc|mnc"即可!原创 2017-12-22 22:16:56 · 641 阅读 · 0 评论 -
android apk 实现自动安装
android:name="android.permission.INSTALL_PACKAGES" tools:ignore="ProtectedPermissions" />前提:apk已经取得系统签名,并且内置了// 静默安装,1-安装成功,或没有升级文件,2-升级安装出现异常,-1-程序异常public int installBySlient(Context contex原创 2018-01-10 11:09:01 · 6806 阅读 · 1 评论 -
源码分析commitAllowingStateLoss() 和commit()的区别
之前在使用Fragment的时候偶尔会有这么一个报错,Can not perform this action after onSaveInstanceState,意思为无法再onSaveInstanceState之后执行该操作,这个操作就是指commit(),之前也没怎么在意,后来通过查看源码去了解了一下这个问题,以下是对这个问题的解析及对应解决办法的对比。 Fragment是我们经...转载 2018-04-28 15:28:25 · 271 阅读 · 0 评论 -
ViewPage放fragment ,onCreateView方法没有被执行
解决方法 设置ViewPager的setOffscreenPageLimit。原创 2018-08-06 14:53:50 · 3905 阅读 · 0 评论 -
scrollview不能滑到最底端
在android中编写布局一般会用到scrollview嵌套LinearLayout,使页面可以自适应其高度。但是有的机型页面可以显示全;有的机型页面显示不全,滚动条怎么也滚动不到底部。解决 不要在LinearLayout使用layout_marginTop,在scrollview使用paddingTop ...原创 2018-08-30 16:52:48 · 3699 阅读 · 2 评论 -
android:clipChildren 被遗忘的神奇属性
在说clipChildren属性之前首先看一个效果图做出这种效果图你能想到的方式是什么呢?用RelativeLayout?我以前就是这么干的其实有个更好的方法,只要用了这个神奇的属性后这个效果很容易就可以实现,下面是这个属性的注意点:1、只需在根节点设置android:clipChildren为false即可,默认为true,注意:一定是在布局文件的根节点设置,否则不起作用。2、可...原创 2018-09-12 22:56:47 · 266 阅读 · 0 评论 -
TextView 设置点击时selector没有效果
<selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_pressed="true"> <shape> <solid android:color="@color/text1"/&a原创 2018-09-13 16:28:52 · 1695 阅读 · 0 评论 -
recycleview外面嵌套NestedScrollView产生的问题
recycleview外面嵌套NestedScrollView会滑动卡顿,当数据量小时可以用recycleView.setNestedScrollingEnable(false)解决但是这样做有个弊端,RecycleView的item会一次性加载完,不管是否显示,如果item比较多的话不建议这样使用布局,如果再有下拉刷新,这种布局设计是非常糟糕的。我加载了很多图片,打开直接卡死建议:只使用...原创 2019-05-15 17:58:49 · 471 阅读 · 0 评论 -
Android studio 报错
Android dependency 'com.android.support:appcompat-v7' has different version for the compile (27.0.0) and runtime (28.0.0) classpath. You should manually set the same version via DependencyResolution...原创 2019-07-26 10:41:00 · 148 阅读 · 0 评论 -
TortoiseGit如何迁移项目地址
大家工作中可能会遇到项目迁服务器,那么在以前老服务器上的git项目也需要迁到新服务器。如果大家使用TortoiseGit,那么该如何迁移呢,很简单:一、首先在新服务器git上建个项目,然后把项目地址复制下来。二、在本地项目里找到.git文件夹里的config文件 ,然后把url替换为新地址保存就可以了,然后push上去三、如果有其他分支,切换到分支,然后依次push上去...原创 2019-09-26 15:15:01 · 3456 阅读 · 1 评论 -
问题build\intermediates\res\merged\debug\drawable-ldrtl-hdpi\
原因:工程路径太长,找个较短的路径原创 2017-11-16 15:43:13 · 865 阅读 · 0 评论 -
一个base64引发的血案
结果发现header跟body之间多了一个换行符('\r\n'),http协议默认header和body之间有一个空行隔开,也就是一个只含有\r\n的行,但是多了一个\r\n,就会导致服务器取body的时候从这个多出来的\r\n开始取content-length个字符,这样body里最后的两个字符就被这个多出来的\r\n挤掉了而通过观察,这个原因是由于header的最后一个字段Author转载 2017-08-31 16:56:35 · 634 阅读 · 0 评论 -
EditText想要让默认输入类型为数字,并且可以切换到其他输入类型
使用setRawInputType(InputType.TYPE_CLASS_NUMBER);不改变输入类型,但首先弹出数字键盘。原创 2017-08-31 13:06:22 · 1465 阅读 · 0 评论 -
android studio 中R文件消失的问题
这种情况我找了很久,发现是build.gradle的兼容包和compileSdkVersion配置不对引起的,有两个解决方法:一个是全部升级成最新的,而且配置成最新的,例如appcompat-v7:21.0.0须使用android 5.0版本的build tool,而且build出来的程序只能在Android 5.0下运行,另外一个方法就是自己动手支修改build.gradle有参数把compil原创 2015-09-09 23:46:31 · 416 阅读 · 0 评论 -
android设置为全屏的方法
在开发中我们经常需要把我们的应用设置为全屏,这里我所知道的有俩中方法,一中是在代码中设置,另一种方法是在配置文件里设置!1.在代码中设置(在需要设置全屏的Activity的onCreate方法里面加入如下两段代码)。[java] view plaincopyprint?public class FullScreenActivitys extends转载 2015-10-10 15:36:03 · 470 阅读 · 0 评论 -
android自带样式 theme
android:theme="@android:style/Theme.Dialog" 将一个Activity显示为能话框模式 android:theme="@android:style/Theme.NoTitleBar" 不显示应用程序标题栏 android:theme="@android:style/Theme.NoTitleBar.Fullscreen" 不显示应用程序标题栏,并全屏转载 2015-10-10 15:38:27 · 251 阅读 · 0 评论 -
android 中Jsonobject里的键值是动态时,获得键值key
可以通过JSONObject 的keys()方法获得一个迭代器,然后遍历所有的keykeys方法返回一个Iterator对象,它有hasNext方法,来判断是否都遍历完了,用next方法来获取下一个key例如Iterator keys = jsonObject.keys();while(keys.hasNext()){ String key = keys.next();原创 2015-11-22 18:28:39 · 1850 阅读 · 1 评论 -
listView 更新单个item
public void updateView(int itemIndex) { //得到第一个可显示控件的位置, int visiblePosition = mListView.getFirstVisiblePosition(); //只有当要更新的view在可见的位置时才更新,不可见时,跳过不更新 if (i转载 2016-10-17 19:04:59 · 288 阅读 · 0 评论 -
自定义splash导航器,选中的点变大
mNumLayout = (LinearLayout) findViewById(R.id.ll_indicater);for (int i = 0; i mImages.length; i++) { ImageView bt = new ImageView(this); bt.setLayoutParams(new ViewGroup.LayoutParams((int) Ab原创 2016-10-28 11:23:23 · 195 阅读 · 0 评论 -
Linlayout垂直布局如何让view下面居底
LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > TextView原创 2016-10-20 10:34:20 · 1673 阅读 · 1 评论 -
ScrollView 里嵌套listView冲突问题
重写listView** * ScrollView中嵌入ListView,让ListView全显示出来 * * @author reyo */public class MyListView extends ListView { public MyListView(android.content.Context context,原创 2016-12-06 19:42:21 · 196 阅读 · 0 评论 -
ScrollView里放viewpager,viewpager里放listView,让listView完全显示
** * 自适应高度的viewpager * Created by on 2016/12/8. */public class MyViewPager extends ViewPager{ public MyViewPager(Context context) { super(context); } public MyViewPager(Cont转载 2016-12-14 11:04:22 · 234 阅读 · 0 评论 -
TextView 点击时字体颜色变化
设置属性 获取到父类的点击状态android:duplicateParentState="true"android:text="15"android:textColor="@drawable/select_font_color"原创 2017-03-29 11:04:47 · 560 阅读 · 0 评论 -
动态设置listView的高度
MyAdapter adapter = new MyAdapter();listView.setAdapter(adapter);View listItem = adapter.getView(0,null,listView);listItem.measure(0, 0);int totalHei = (listItem.getMeasuredHeight()+listView.getDi原创 2017-04-01 09:38:27 · 296 阅读 · 0 评论 -
让ScrollView滑动到最顶端
((ScrollView)findViewById(R.id.scroll)).smoothScrollTo(0,20);原创 2017-06-01 18:37:35 · 556 阅读 · 0 评论 -
Caused by: java.lang.ClassNotFoundException: Didn't find class "net.grandcentrix.tray.provider.TrayC
在Android5.0以下会出现此问题,解决方法,在github上发现解决方法,原来是multidex的集成方法不对,没有重写attachBaseContext()然后重写就没问题了原创 2017-06-14 13:57:48 · 1878 阅读 · 0 评论 -
android中handle的用法
Android UI操作并不是线程安全的并且这些操作必须在UI线程中执行。Android利用Handler来实现UI线程的更新的。Handler是Android中的消息发送器,其在哪个Activity中创建就属于且紧紧属于该Activity。还可以说其在哪个线程中new的,就是那个线程的Handler。Handler的定义: 主要接受子线程发送的数据, 并用此数据配合主线程更新UI.转载 2015-11-07 20:48:41 · 1517 阅读 · 0 评论