出来るのですが、設定が面倒そうなので消音の部分だけアプリで作ってみました。単体で起動すると消音して、アプリをタップして終了させると元のサウンド設定に戻ります。Androidの音量設定は複数ありデバイスの設定から個別に設定できるのですが、このアプリでは以下の音を消音します。共通のボリューム設定となるようです。(もしかしたらデバイスにより違うかも知れません)このアプリは外部プログラムからからコントロールできるように起動時のパラメタをプログラムから設定できるようにしています。発行できる自動処理アプリから連動することもできます。元はと言えば、これがやりたくて作ったアプリですね。連携したい場合はこちらの記事を参照して下さい。以下が、アプリ連動時の設定値です。消音を解除し元の設定にします。音楽再生や動画再生などのメディア再生音以外を消音にします。外部起動した場合は、アプリは処理後に自動終了しタスクリストに残りません。プログラム(Kotlin)から処理する場合は以下のようにします。消音するstartActivity(intent)外部起動でもアプリをタップして起動した場合でも、復元する音量設定は消音処理する時点での音量を保存して復元時に利用します。アプリで消音後に音量の設定をデバイスから変更しても、このアプリで消音モードを解除すると保存時の音量設定に戻ります。消音したままでアプリを強制終了するとデバイスは消音されたままとなります。これを解除するには一度アプリを起動してから正しく終了すると音量を復元することができます。APIレベル29(今の最新のAndroid-Q)だけでした。他は終了直前を通知を受けることはできても、数行のコードでも途中でシステムからパージされるようで、思うように実行できませんでした。Androidアプリ追記:2019/11/5ちょっと名称を変えました。どっちかというとスリープじゃなくてロックだったので...似たようなアプリは既にあったのですが、まぁ簡単なので作ってみました。起動すると2秒後に画面をロックするだけのアプリです。自由で良いなぁ...Taskerとかと合わせて使えば、シェイクしてロックとか簡単にできます。Pixel4で問題が...ロックはするのですが、管理者ロックになるためか、次にウェイクアップさせようとすると顔認証でなくPINコードを要求されます。デバイスの設定でなんとかなるのかなぁ?コードは書けるけど使い方には超疎い...だれか知ってたら教えて(笑)ソースコードはこちらにアップしました。好きに改良なり改造なりして使って構いません。」をリリースしました。このアプリはアラームを設定する場所の夜明けや日の出を自動計算してアラームに設定できます。夜明け時間は日々変化するので、毎度毎度アラームの設定を変更する必要がありません。今回はリジェクト2回...初回は位置情報の取得に時間がかかるときに、何もアクションをいれなかったらアウトでした。surfsup以前JSでコア部分のプロトタイプコードを書きましたが、そのUIになる部分がこんな感じです。波乗りしている人は解ると思うけど(早起きサーファーね)日の出時間って週毎けっこう変化があって、夜明け近くの時刻にアラームを設定しているんだけど、毎度少しずつ調整しないとダメなんです。ことで、アプリで日の出時間をロケーションから計算してアラームを設定できればと思いました。iOSで目覚まし時計作るのって制約が多くて意外に面倒なんです。本当は、正規アプリの「時計」のアラームに連動できれば面倒がないのですが、URLスキームでの連動は出来なくて、残るまともな選択肢は2つだけ。1つはバックグラウンドで待機してサウンドを再生する。1つは通知サウンドを利用する。どちらも一長一短があって、前者の問題は「バックグラウンドでアプリが待機していないとダメ」「なのでバッテリーを食う」「アラームでのBG処理は認められてないので、Appleの審査を通すのにそれ以外の理由で何かを実装をしないとダメ」の3つ。後者の方は、「アラームじゃないのでサイレントモードで音が出せない」「サウンドの再生時間は30秒まで」の2つ。問題の数で選んだわけでも無いですが、後者の方がアプリの状態に関係なく、一度設定すれば必ずアラームが鳴るので(前者の場合は何かの都合でBGからアプリがパージされるとアラームは鳴らない)後者の手法でやろうかと思います。作った方が使い勝手はよくなると思う。more...新しいアプリのアイデアを思いついたので、ちょこっとサンプルコードをJSで書いてみました。コンバートするので、少し整理してシンプルにしただけですけどね。アップデートしストアで公開済です。今回のアップデートで、全ての道の駅を表示するモードを付けました。左上(画像の矢印部分)アイコンをタップすると、通常モードとクラスタリングモード(全体表示)を切り替えて表示できます。クラスタリングモードではズーム値により、近隣に5つ以上マップピンが有る場合はクラスタリング(集約)します。クラスタリングはマップをズームインすることでクラスタリングが解除されていきます。クラスタリングモードは、条件検索や都道府県選択によるマップ表示等で自動解除されます。同アイコンを再タップすることでも解除できます。最新版は以下よりダウンロード可能です。StationとりあえずAndroid版もテスト中です。iOS版に比べると、どうもClusteringのためのレンダリングが遅くてタイミングによっては画面がチラつきますねぇー。この動画はシミュレーターによるものなので、実機だともう少し改善されるかもです。ライブラリの実装による部分が主なので、現時点ではこれ以上改善するのが少し難しいです。いえ、普通に使う分(ズームの「+/−」の連打とかしなければ)にはほぼ問題ないレベルです。iOS版と合わせて公開しようかと思います。Android版かなり苦戦しました。Clusteringのサンプルはネットに結構ころがってるんだけど、マーカーのカラーを変更したり、Dynamicに更新する処理サンプルがほぼ皆無で、色々試行錯誤しながら実装したので結構時間かかりました。Station「全ての道の駅をマップに表示できないの?」ってリクエストをいくつか頂いたので少しテストしてみました。現在1156件の道の駅をそのまま全部表示しちゃうと...まぁこんな感じで全て表示されはするのですが、ヘビみたいで気持ち悪いのはさておき、恐ろしく動きがモッサリしてしまいます。クラスタリングにて実装してみました。クラスタリングとは、マップのスケールにより近隣のマップピンをグルーピングして表示するUIです。実際の動きは下記の動画で確認してみて下さい。ストレス無くスルスルとマップが動きます。実装を変更したので、少しテストしてみてからリリースしようかと思います。iPhone版ですが、Android版もだいたい同時期にリリースできるかと思います。クラスタリング表示は、画面上左上のアイコンでモードを切り替えるUIとなります。以前の使い方もそのままそっくり継承します。Station道の駅の詳細(Googleでもっと見る)を表示するUIにプルアップによるアクションを追加しました。詳細部分を上にスクロールしていき、オーバースクロール状態になると、上矢印のアイコンが出るので、更に上にスクロールすると「Googleの詳細情報」画面をロールアップで表示します。「Googleの詳細情報」画面も上にスクロールすることで色々な情報が表示されます。閉じる場合は、画面右上の「X」アイコンをタップして下さい。最新版は以下よりダウンロード可能です。Station」の映像が公開されました。現在のバージョンはこの番組の収録時点とはUIが少し変わってますが、機能は更にアップして使い易くなっていると思います。収録したのは7月の前半でスゲー暑かった日ですね。帰りにウナギ食いましたし(笑)編集されて5分位に収まってますが、実際は40分位撮っていたかなぁ?自分は映ってないですがカメラの後ろの方でずっと見てました。アプリが心配というよりは、人が使う物ですから、意図した通りに使ってくれるかどうかの方が心配でしたが、なかなかコンパクトに良くまとまった紹介だと思います。当日、モー娘の矢口さんが見られるかと思ってたのですが、産休でお休みだそうです。