Android开发

每次吃一点Androidの小知识

2017-03-30  本文已影响197人  耑意儿
目录:
1、Service
2、AndroidManifest
3、Github搜索技巧
4、AndroidStudio主题设置

Android小仙

1. Service

Service lifeCycle
从上图可以看到,onStart()方法被onStartCommand()方法取代了。
那么问题来了,onStart()onStartCommand()的区别是什么呢?
onStart()是android2.0以下的版本使用的,而onStartCommand()则是android2.0以上的版本使用的。
两个可以同时使用不会有冲突,执行的时候先调用onStartCommand(),再调用onStart()

1.1. onStartCommand()方法

public @StartResult int onStartCommand(Intent intent, @StartArgFlags int flags, int startId) {
        onStart(intent, startId);
        return mStartCompatibility ? START_STICKY_COMPATIBILITY : START_STICKY;
    }

主要看四种返回值类型

1.2. Service永不被kill的方法

关于进程保活的两三事——新手升级经验卡

1.3. 相对强大的进程保活方案

参考资料:
双进程守护,驻留,杀不死服务:MarsDaemon
其他:参考同类APP的做法,如:<a>闪铃</a>

1.4. 用户配置保活

2. AndroidManifest

2.1. Application节点说明

先上例子

    <application
        android:name=".MyApplication"
        android:allowBackup="true"
        android:allowClearUserData="false"
        android:excludeFromRecents="true"
        android:hardwareAccelerated="true"
        android:largeHeap="true"
        android:icon="@drawable/icon"
        android:label="@string/app_name"
        android:persistent="true"
        android:theme="@style/AppTheme" >
    </application>

简单的不说,来看看下面的

2.2. 创建桌面快捷方式适配不同机型

各个手机产商自定义的创建桌面快捷方式的权限
参考:Permissions used in Alipay 9.6.6

uses-permission: name='com.alipay.permission.ALIPAY_UPDATE_CREDENTIALS'
uses-permission: name='com.android.launcher.permission.INSTALL_SHORTCUT'
uses-permission: name='android.permission.BLUETOOTH'
uses-permission: name='android.permission.CHANGE_WIFI_STATE'
uses-permission: name='android.permission.CAMERA'
uses-permission: name='android.permission.ACCESS_NETWORK_STATE'
uses-permission: name='android.permission.MODIFY_AUDIO_SETTINGS'
uses-permission: name='com.yunos.permission.TYID_MGR_SERVICE'
uses-permission: name='android.permission.RECEIVE_SMS'
uses-permission: name='android.permission.AUTHENTICATE_ACCOUNTS'
uses-permission: name='com.alipay.permission.ALIPAY_USE_CREDENTIALS'
uses-permission: name='com.aliyun.permission.TYID_MGR_SERVICE'
uses-permission: name='android.permission.BATTERY_STATS'
uses-permission: name='android.permission.READ_PHONE_STATE'
uses-permission: name='android.permission.WRITE_EXTERNAL_STORAGE'
uses-permission: name='android.permission.NFC'
uses-permission: name='android.permission.RECORD_AUDIO'
uses-permission: name='android.permission.READ_SMS'
uses-permission: name='com.taobao.permission.UPDATE_CREDENTIALS'
uses-permission: name='com.yunos.permission.STORAGE_SERVICE'
uses-permission: name='com.sonyericsson.home.permission.BROADCAST_BADGE'
uses-permission: name='com.android.launcher.permission.UNINSTALL_SHORTCUT'
uses-permission: name='android.permission.READ_CONTACTS'
uses-permission: name='android.permission.USE_CREDENTIALS'
uses-permission: name='android.permission.VIBRATE'
uses-permission: name='com.yunos.permission.TYID_SERVICE'
uses-permission: name='android.permission.ACCESS_FINE_LOCATION'
uses-permission: name='android.permission.FLASHLIGHT'
uses-permission: name='com.taobao.permission.USE_CREDENTIALS'
uses-permission: name='android.permission.ACCESS_COARSE_LOCATION'
uses-permission: name='android.permission.MANAGE_ACCOUNTS'
uses-permission: name='android.permission.CALL_PHONE'
uses-permission: name='android.permission.READ_LOGS'
uses-permission: name='android.permission.GET_ACCOUNTS'
uses-permission: name='android.permission.GET_TASKS'
uses-permission: name='android.permission.ACCESS_WIFI_STATE'
uses-permission: name='com.android.launcher.permission.READ_SETTINGS'
uses-permission: name='com.htc.launcher.permission.READ_SETTINGS'
uses-permission: name='com.majeur.launcher.permission.UPDATE_BADGE'
uses-permission: name='com.aliyun.permission.TYID_SERVICE'
uses-permission: name='android.permission.WAKE_LOCK'
uses-permission: name='android.permission.BLUETOOTH_ADMIN'
uses-permission: name='android.permission.RECEIVE_BOOT_COMPLETED'
uses-permission: name='android.permission.INTERNET'
uses-permission: name='android.permission.SYSTEM_ALERT_WINDOW'
uses-permission: name='com.htc.launcher.permission.UPDATE_SHORTCUT'
uses-permission: name='android.permission.WRITE_SETTINGS'
uses-permission: name='com.anddoes.launcher.permission.UPDATE_COUNT'
uses-permission: name='android.permission.READ_PROFILE'
uses-permission: name='android.permission.BROADCAST_STICKY'
uses-permission: name='com.aliyun.permission.STORAGE_SERVICE'
uses-permission: name='nxp.permission.ACCESS_WALLET_SERVICE'
uses-permission: name='com.samsung.android.authservice.permission.READ_CONTENT_PROVIDER'
uses-permission: name='android.permission.USE_FINGERPRINT'
uses-permission: name='android.permission.MANAGE_FINGERPRINT'
permission: com.eg.android.AlipayGphone.permission.MIPUSH_RECEIVE
uses-permission: name='com.eg.android.AlipayGphone.permission.MIPUSH_RECEIVE'
uses-permission: name='com.miui.mihome2.permission.READ_SETTINGS'
uses-permission: name='com.miui.mihome2.permission.WRITE_SETTINGS'
uses-permission: name='com.aliyun.homeshell.permission.WRITE_SETTINGS'
uses-permission: name='com.aliyun.homeshell.permission.READ_SETTINGS'
uses-permission: name='com.lenovo.launcher.permission.READ_SETTINGS'
uses-permission: name='com.lenovo.launcher.permission.WRITE_SETTINGS'
uses-permission: name='com.iLoong.permission.WRITE_SETTINGS'
uses-permission: name='com.iLoong.permission.READ_SETTINGS'
uses-permission: name='cn.nubia.launcher.permission.WRITE_SETTINGS'
uses-permission: name='cn.nubia.launcher.permission.READ_SETTINGS'
uses-permission: name='com.smartisanos.launcher.WRITE_DATABASE'
uses-permission: name='com.smartisanos.launcher.READ_DATABASE'
uses-permission: name='com.smartisanos.launcher.data.ExportDataProvider'
uses-permission: name='com.teslacoilsw.launcher.permission.WRITE_SETTINGS'
uses-permission: name='com.teslacoilsw.launcher.permission.READ_SETTINGS'
uses-permission: name='com.meizu.flyme.launcher.permission.READ_SETTINGS'
uses-permission: name='com.meizu.flyme.launcher.permission.WRITE_SETTINGS'
uses-permission: name='com.ztemt.launcher.permission.WRITE_SETTINGS'
uses-permission: name='com.ztemt.launcher.permission.READ_SETTINGS'
uses-permission: name='com.zte.lqsoft.launcher.permission.READ_SETTINGS'
uses-permission: name='com.zte.lqsoft.launcher.permission.WRITE_SETTINGS'
uses-permission: name='com.baoruan.launcher2.permission.WRITE_SETTINGS'
uses-permission: name='com.baoruan.launcher2.permission.READ_SETTINGS'
uses-permission: name='com.fineos.launcher.permission.READ_SETTINGS'
uses-permission: name='com.fineos.launcher.permission.WRITE_SETTINGS'
uses-permission: name='com.ibingo.launcher.permission.WRITE_SETTINGS'
uses-permission: name='com.ibingo.launcher.permission.READ_SETTINGS'
uses-permission: name='com.zui.launcher.permission.WRITE_SETTINGS'
uses-permission: name='com.zui.launcher.permission.READ_SETTINGS'
uses-permission: name='com.qihoo360.screenlock.permission.READ_LOCAL_THEME'
uses-permission: name='com.qihoo360.screenlock.permission.WRITE_LOCAL_THEME'
uses-permission: name='com.zte.mifavor.launcher.permission.WRITE_SETTINGS'
uses-permission: name='com.zte.mifavor.launcher.permission.READ_SETTINGS'
uses-permission: name='com.lo.launcher.permission.READ_SETTINGS'
uses-permission: name='com.lo.launcher.permission.WRITE_SETTINGS'
uses-permission: name='com.android.tpwlauncher2.permission.WRITE_SETTINGS'
uses-permission: name='com.android.tpwlauncher2.permission.READ_SETTINGS'
uses-permission: name='com.android.sprdlauncher1.permission.READ_SETTINGS'
uses-permission: name='com.android.sprdlauncher1.permission.WRITE_SETTINGS'
uses-permission: name='com.s.launcher.permission.WRITE_SETTINGS'
uses-permission: name='com.s.launcher.permission.READ_SETTINGS'
uses-permission: name='com.zte.mobile.ZteLauncher3D.permission.READ_SETTINGS'
uses-permission: name='com.zte.mobile.ZteLauncher3D.permission.WRITE_SETTINGS'
uses-permission: name='com.android.launcher23.permission.READ_SETTINGS'
uses-permission: name='com.android.launcher23.permission.WRITE_SETTINGS'
uses-permission: name='com.mgyun.permission.READ_SETTINGS'
uses-permission: name='com.mgyun.permission.WRITE_SETTINGS'
uses-permission: name='com.asus.launcher3.permission.READ_SETTINGS'
uses-permission: name='com.asus.launcher3.permission.WRITE_SETTINGS'
uses-permission: name='com.tsf.shell.permission.READ_SETTINGS'
uses-permission: name='com.tsf.shell.permission.WRITE_SETTINGS'
uses-permission: name='com.tul.aviate.permission.READ_SETTINGS'
uses-permission: name='com.tul.aviate.permission.WRITE_SETTINGS'
uses-permission: name='com.lenovo.launcherhdmarket.permission.READ_SETTINGS'
uses-permission: name='com.lenovo.launcherhdmarket.permission.WRITE_SETTINGS'
uses-permission: name='com.hola.launcher.permission.READ_SETTINGS'
uses-permission: name='com.hola.launcher.permission.WRITE_SETTINGS'
uses-permission: name='com.qihoo360.home.permission.WRITE_SETTINGS'
uses-permission: name='com.qihoo360.home.permission.READ_SETTINGS'
uses-permission: name='com.slim.slimlauncher.permission.READ_SETTINGS'
uses-permission: name='com.slim.slimlauncher.permission.WRITE_SETTINGS'
uses-permission: name='com.huaqin.launcherEx.permission.WRITE_SETTINGS'
uses-permission: name='com.huaqin.launcherEx.permission.READ_SETTINGS'
uses-permission: name='com.epic.launcher.tw.permission.WRITE_SETTINGS'
uses-permission: name='com.epic.launcher.tw.permission.READ_SETTINGS'
uses-permission: name='com.android.lewalauncher.permission.READ_SETTINGS'
uses-permission: name='com.android.lewalauncher.permission.WRITE_SETTINGS'
uses-permission: name='com.Dean.launcher.permission.READ_SETTINGS'
uses-permission: name='com.Dean.launcher.permission.WRITE_SETTINGS'
uses-permission: name='app.cobo.launcher.permission.WRITE_SETTINGS'
uses-permission: name='app.cobo.launcher.permission.READ_SETTINGS'
uses-permission: name='com.alphalp.launcher.permission.WRITE_SETTINGS'
uses-permission: name='com.alphalp.launcher.permission.READ_SETTINGS'
uses-permission: name='com.lollipop.launcher.permission.READ_SETTINGS'
uses-permission: name='com.lollipop.launcher.permission.WRITE_SETTINGS'
uses-permission: name='com.l.launcher.permission.READ_SETTINGS'
uses-permission: name='com.l.launcher.permission.WRITE_SETTINGS'
uses-permission: name='com.dlto.atom.launcher.permission.READ_SETTINGS'
uses-permission: name='com.dlto.atom.launcher.permission.WRITE_SETTINGS'
uses-permission: name='com.android.sprdlauncher2.permission.WRITE_SETTINGS'
uses-permission: name='com.android.sprdlauncher2.permission.READ_SETTINGS'
uses-permission: name='com.konka.launcher2.permission.READ_SETTINGS'
uses-permission: name='com.konka.launcher2.permission.WRITE_SETTINGS'
uses-permission: name='com.mycheering.launcher.permission.WRITE_SETTINGS'
uses-permission: name='com.mycheering.launcher.permission.READ_SETTINGS'
uses-permission: name='com.microsoft.launcher.permission.READ_SETTINGS'
uses-permission: name='com.microsoft.launcher.permission.WRITE_SETTINGS'
uses-permission: name='com.nicelauncher.lolauncher.permission.READ_SETTINGS'
uses-permission: name='com.nicelauncher.lolauncher.permission.WRITE_SETTINGS'
uses-permission: name='com.jui.launcher3.permission.READ_SETTINGS'
uses-permission: name='com.jui.launcher3.permission.WRITE_SETTINGS'
uses-permission: name='com.android.launcher2.permission.READ_SETTINGS'
uses-permission: name='com.android.launcher2.permission.WRITE_SETTINGS'
uses-permission: name='com.qihoo360.launcher.permission.READ_SETTINGS'
uses-permission: name='com.qihoo360.launcher.permission.WRITE_SETTINGS'
uses-permission: name='com.lge.launcher.permission.READ_SETTINGS'
uses-permission: name='com.lge.launcher.permission.WRITE_SETTINGS'
uses-permission: name='net.qihoo.launcher.permission.READ_SETTINGS'
uses-permission: name='net.qihoo.launcher.permission.WRITE_SETTINGS'
uses-permission: name='org.adw.launcher_donut.permission.READ_SETTINGS'
uses-permission: name='org.adw.launcher_donut.permission.WRITE_SETTINGS'
uses-permission: name='com.huawei.launcher3.permission.READ_SETTINGS'
uses-permission: name='com.huawei.launcher3.permission.WRITE_SETTINGS'
uses-permission: name='com.sec.android.app.twlauncher.settings.READ_SETTINGS'
uses-permission: name='com.sec.android.app.twlauncher.settings.WRITE_SETTINGS'
uses-permission: name='com.anddoes.launcher.permission.READ_SETTINGS'
uses-permission: name='com.anddoes.launcher.permission.WRITE_SETTINGS'
uses-permission: name='com.tencent.qqlauncher.permission.READ_SETTINGS'
uses-permission: name='com.tencent.qqlauncher.permission.WRITE_SETTINGS'
uses-permission: name='com.huawei.launcher2.permission.READ_SETTINGS'
uses-permission: name='com.huawei.launcher2.permission.WRITE_SETTINGS'
uses-permission: name='com.ebproductions.android.launcher.permission.READ_SETTINGS'
uses-permission: name='com.ebproductions.android.launcher.permission.WRITE_SETTINGS'
uses-permission: name='telecom.mdesk.permission.READ_SETTINGS'
uses-permission: name='telecom.mdesk.permission.WRITE_SETTINGS'
uses-permission: name='dianxin.permission.ACCESS_LAUNCHER_DATA'
uses-permission: name='com.modaco.android.launchergb.permission.READ_SETTINGS'
uses-permission: name='com.modaco.android.launchergb.permission.WRITE_SETTINGS'
uses-permission: name='com.sec.android.app.launcher.permission.READ_SETTINGS'
uses-permission: name='com.sec.android.app.launcher.permission.WRITE_SETTINGS'
uses-permission: name='com.bbk.launcher2.permission.READ_SETTINGS'
uses-permission: name='com.bbk.launcher2.permission.WRITE_SETTINGS'
uses-permission: name='com.android.launcher.permission.WRITE_SETTINGS'
uses-permission: name='com.htc.launcher.permission.WRITE_SETTINGS'
uses-permission: name='com.sec.android.app.twlauncher.WRITE_SETTINGS'
uses-permission: name='com.sec.android.app.twlauncher.READ_SETTINGS'
uses-permission: name='org.adw.launcher.permission.READ_SETTINGS'
uses-permission: name='org.adw.launcher.permission.WRITE_SETTINGS'
uses-permission: name='org.adwfreak.launcher.permission.READ_SETTINGS'
uses-permission: name='org.adwfreak.launcher.permission.WRITE_SETTINGS'
uses-permission: name='com.gau.go.launcherex.permission.READ_SETTINGS'
uses-permission: name='com.gau.go.launcherex.permission.WRITE_SETTINGS'
uses-permission: name='com.fede.launcher.permission.READ_SETTINGS'
uses-permission: name='com.fede.launcher.permission.WRITE_SETTINGS'
uses-permission: name='com.oppo.launcher.permission.READ_SETTINGS'
uses-permission: name='com.oppo.launcher.permission.WRITE_SETTINGS'
uses-permission: name='com.nd.android.launcher.permission.READ_SETTINGS'
uses-permission: name='com.nd.android.launcher.permission.WRITE_SETTINGS'
uses-permission: name='com.android.mylauncher.permission.READ_SETTINGS'
uses-permission: name='com.android.mylauncher.permission.WRITE_SETTINGS'
uses-permission: name='com.huawei.android.launcher.permission.READ_SETTINGS'
uses-permission: name='com.huawei.android.launcher.permission.WRITE_SETTINGS'
uses-permission: name='com.huawei.launcher.permission.READ_SETTINGS'
uses-permission: name='com.huawei.launcher.permission.WRITE_SETTINGS'
uses-permission: name='com.mx.launcher.permission.READ_SETTINGS'
uses-permission: name='com.mx.launcher.permission.WRITE_SETTINGS'
uses-permission: name='com.android.launcher3.permission.READ_SETTINGS'
uses-permission: name='com.android.launcher3.permission.WRITE_SETTINGS'
uses-permission: name='com.google.android.launcher.permission.READ_SETTINGS'
uses-permission: name='com.google.android.launcher.permission.WRITE_SETTINGS'
uses-permission: name='android.permission.MOUNT_UNMOUNT_FILESYSTEMS'
uses-permission: name='android.permission.READ_EXTERNAL_STORAGE'

3. Github搜索技巧

4.AndroidStudio主题设置和字体设置

4.1、设置主题色

Darcula主题是背景色为黑色的主题
Default默认的主题是背景色为白色的主题
设置方法:Android Studio -- Preferences -- Appearance&Behavior -- Appearance -- UI Options --Theme

4.2、字体大小设置

Android Studio -- Preferences -- Editor -- ColorScheme -- ColorSchemeFont -- size

上一篇 下一篇

猜你喜欢

热点阅读