Android开发菜鸟——笔记

1、修改字体

1、准备好字体文件:assets/fonts/xxx.ttf
2、TextView的方法setTypeface(Typeface)即是设置字体的
3、Typeface的获取:Typeface.createFromAsset(getAssets(), “fonts/xxx.ttf”)

2、方法数超过限制

implementation 'com.android.support:multidex:1.0.3'
defaultConfig {
        multiDexEnabled true
}
class MyApplication : MultiDexApplication() {}


3、Activity过度动画

overridePendingTransition(int enterAnim, int exitAnim)

overridePendingTransition(0, 0)
finish()
overridePendingTransition(0, 0)
startActivity(intent)

4、杀死进程

android.os.Process.killProcess(android.os.Process.myPid())

5、重启应用

val intent = packageManager.getLaunchIntentForPackage(packageName)
intent?.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK)
intent?.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION)
startActivity(intent)

6、闹钟

val intent = Intent("action")
intent.component = ComponentName(packageName, "packageName.YunjiReceiver")
val pendingIntent = PendingIntent.getBroadcast(this, 0, intent, PendingIntent.FLAG_ONE_SHOT)
val mAlarmManager = getSystemService(Context.ALARM_SERVICE) as AlarmManager
val mCalendar = Calendar.getInstance()// 可以替换成需要的时间
when {
    Build.VERSION.SDK_INT >= Build.VERSION_CODES.M -> {
    	// API23以上
        mAlarmManager.setExactAndAllowWhileIdle(AlarmManager.RTC_WAKEUP, mCalendar.timeInMillis, pendingIntent)
    }
    Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT -> {
    	// API19以上
        mAlarmManager.setExact(AlarmManager.RTC_WAKEUP, mCalendar.timeInMillis, pendingIntent)
    }
    else -> {
        mAlarmManager.set(AlarmManager.RTC_WAKEUP, mCalendar.timeInMillis, pendingIntent)
    }
}

FLAG_CANCEL_CURRENT:创建前先取消已有的相同闹钟。
FLAG_NO_CREATE:如果不存在返回null而不创建。
FLAG_ONE_SHOT:只能使用一次。
FLAG_UPDATE_CURRENT:如果存在则更新参数。

你可能感兴趣的:(android)