Kotlin
Android 11でIntentServiceが非推奨になりました。 JobIntentServiceを使って書き換えました。 IntentServiceの例: class TestService : IntentService("TestService") { override fun onHandleIntent(intent: Intent?) { // ここに処理を書く }} 呼び出し…
ツータッチメール2では、Intentという内部処理を使用して、Gmailアプリに、CC, BCC, 件名, 本文を渡しています。 ある日突然、Gmailアプリが、CC, BCC, 件名, 本文を受け付けてくれなくなりました。 その時のソースコードはこうです。 // メールアドレス設…
Android 8.0の通知ドット(通知バッジ)が邪魔な時があるので、削除する設定です。 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { val notificationManager = getSystemService(Context.NOTIFICATION_SERVICE) as NotificationManager val channel =…
DSC auto renameに触発されて、どうやったらこのようなアプリが作れるのかと思い、PM Rename(Photo/Movie Rename)を作りました。 1. AndroidManifest.xml <uses-permission android:name="android.permission.FOREGROUND_SERVICE"/><uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> リネームサービスを起動するので、</uses-permission></uses-permission>
Googleカレンダーは便利なのですが、カレンダーのイベントを自動的にあるいは一括して削除する機能がないので、一括して削除する機能を作ってみました。 AndroidManifest.xml(アカウントにアクセスするパミッション) <uses-permission android:name="android.permission.INTERNET" /><uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /></uses-permission></uses-permission>
Kotlinのソースです。 snackBar = Snackbar.make(dataCenter.getImportView()!!, "", Snackbar.LENGTH_INDEFINITE)val snackView = snackBar!!.view as Snackbar.SnackbarLayoutprogressBar = ProgressBar(context, null, android.R.attr.progressBarStyleHo…
共通資源を排他制御するには、synchronizedブロックを使います。 synchronized(共通資源のインスタンス) { 共通資源へのアクセス} 私の実装例は以下です。(Kotlinのサンプルコード) synchronized(databaseManager.getSwitchingListDatabase()) { cursor = da…
Android 8.0では、バックグラウンド処理に厳しい制約が付けられました。 よって、バックグラウンド処理からフォアグラウンド処理に移行するソースコードです。 サービスを呼び出す側 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { activity.startF…
HandlerとWakeLockで実現しました。(ソースコードはKotlinで書いています。) AndroidManifest.xml <uses-permission android:name="android.permission.WAKE_LOCK" /> 時間を刻むタイマーサービス TimerService.kt class TimerService : Service() { val handler = Handler() companion object { private var wakelock : Powe</uses-permission>…