MediaScannerConnection.scanFileを同期処理させる
MediaScannerConnection.scanFileでファイルをスキャンさせてその完了を待つコードを考えてみた。が、どんな状況でも動くようにさせるのは難しそうだ。以下のようなコードはうまくいきそうだが、実際には状況によってはうまくいかない。 final Object lock = new Object(); synchronized (lock) { Log.d(TAG,...
View ArticleTextViewでgravity="center"にしても真ん中に寄らないで下にずれる
AndroidのTextViewで高さと文字サイズを指定したとき、TextViewに対して文字が大きすぎると、gravity="center"やpadding="0dp"を指定していても文字が下に寄る(つまり上部に余白ができる)ことがある。例えば以下のようなレイアウトを表示させると<FrameLayout...
View Articleウィジェットが置かれたのがロックスクリーンかホームスクリーンかを判断する
ウィジェットが置かれたのがロックスクリーンかホームスクリーンかを判断するには、以下を自前のAppWidgetProviderクラスのonUpdateから呼び出せばOK @TargetApi(Build.VERSION_CODES.JELLY_BEAN_MR1) public boolean isPlacedOnLockscreen(Context context, int appWidgetId...
View ArticleAndroidで角毎に丸みの異なる角丸ボタンを作る
AndroidのShapeDrawableで、<corners android:radius="5dp" />みたいな指定をすると四隅すべて角丸になりますが、これはbottomLeftRadiusのように各角毎に指定できます。サンプルは以下の通り。<?xml version="1.0" encoding="utf-8"?><selector...
View ArticleMacでBootcamp利用時にoptionキーを押しながら起動してもブートディスク選択画面に移行しない時の対処法
この度以下のような現象に遭った。・環境はMacbook Pro / Late 2013・Bootcampを利用していて、Windows 8.1 / Mac OS X 10.9.4 がインストール済み・前日にMac側で作業して、シャットダウンせずにふたを閉じて就寝・起きてスリープ復帰させるとWindowsが起動・おかしいと思いつつも、シャットダウンさせてoption...
View Article音声認識エンジン Julius の読み方
知人に「音声認識のJuliusってユリウスって読むんだよ(ドヤァ 」と言われて気になったので調べてみました。結論としては、音声認識エンジン Julius の読み方は「ジュリアス」が妥当なように思います。以下は開発元サイトからの引用です。http://julius.sourceforge.jp/juliusbook/ja/pr01.html>...
View Article画面の明るさを変更するショートカットキーを作る(Windows)
nircmdを使った画面の明るさを変更するショートカットキーの設定方法の紹介です。この方法を使えば、任意のキーの組み合わせで、一段階明るく、または暗くすることができます。また、一回でどれほど明るく/暗くするかも決められます。▼手順まずnircmdをDLします。http://www.nirsoft.net/utils/nircmd.html( 一番下の< Download NirCmd >...
View ArticleInternet Archiveでの文字化け対策
Internet Archiveでの文字化けする場合、基本は他のエンコードを試して終了ですが、それでうまくいかない場合があります。どうやら内部処理で異なるエンコードに強制的に変換されて出力されている場合があるようです。このような場合は変換なしで出力する方法を試してみて下さい。方法は数字の羅列の末尾に id_...
View ArticleAndroid Asset Studioでアイコン生成結果が灰色になる
Android Asset Studioでアイコン生成すると灰色になってしまう問題に悩まれた。この現象はissueとして報告に挙がっていて、入力画像が悪いとのこと。背景は白画素じゃなくて、透過画素じゃないといけないとのこと。
View ArticleExportする時のconversion to dalvik format failed with error 1の対策
よく見つかる方法じゃ直らなくて、結局proguard-android-optimize.txtの-optimizationpasses 5を-optimizationpasses 1に変えてみたら表題のエラーが出なくなった。なぜなのか。
View Articleffmpeg 2.8.3がAndroidで使えない人向けの対処法
どうもMP3のデコードの挙動がおかしかったので、ffmpegを2.8.3にバージョンアップしてみた。そしたら出力される共有ライブラリの拡張子が.soじゃない(バージョンが後ろに付与される)という事態に・・・・。えいやでそのままビルドしようとすると拡張子が違うことで弾かれてしまった。LOCAL_SRC_FILES should point to a file ending with...
View ArticleWindows 10 でExplorerが頻繁に固まる
Windows 10でファイルのコピーをすると高確率でエクスプローラーが無反応になって困っていました。自分の場合はクイックアクセスにアクセスできなくなっていたネットワークフォルダーが登録されていたのが原因でした。恐らくネットワークフォルダを探しにいってタイムアウトになるまで操作を受け付けなくなっていたんだと思います。同じ現象が起きている方はお試しあれ。
View Articleファイルコピーの[NSData dataWithContentsOfURL:]で落ちる
ShareExtensionでファイルをコピーするサンプルの多くが[NSData dataWithContentsOfURL:];でコピーしていたので、それにのっとってコピーしていたのだが、巨大なファイルだとこれではメモリ不足で落ちる。代わりにNSFileManager *filemgr;filemgr = [NSFileManager defaultManager];[filemgr...
View Articleadb install で INSTALL_PARSE_FAILED_NO_CERTIFICATESが出る場合の対処法
adb install で INSTALL_PARSE_FAILED_NO_CERTIFICATESが出る場合、Android StudioでGenerate Signed APKを実行するときに、最後のページのSignature VersionsでV1とV2両方にチェックを入れましょう
View Articleファイルを共有しようとするとFileUriExposedExceptionが出る場合
Target SDKがN以降の場合、ファイルパスを指定する従来の共有をしようとするとFileUriExposedExceptionが出るFileProviderを使うのが楽で、以下はFileProviderを使ってACTION_SENDで共有する例<provider android:name="android.support.v4.content.FileProvider"...
View ArticleGoogle Driveのバックアップと同期をインストール後、NASにアクセスできなくなった
Google Driveの「バックアップと同期」をインストールしてバックアップするフォルダとしてNAS上のフォルダーを指定して再起動したところ、NASにアクセスできなくなった。\\192.168.1.x\ではアクセスできたが、\\<ネットワークドライブ名>\ではアクセスできず、以下のエラーメッセージが出た。「このネットワーク...
View ArticleActionModeの下線の色の変え方(actionModeSplitBackgroundが効かない)
どうやらAppCompatではActionModeでの下線がactionModeSplitBackgroundで変えられないもよう。対策は、なんてことはない、actionModeBackgroundで下線がつくようにBackgroundを設定するだけ。@drawable/am_background
View ArticleAndroidのjava.net.URI.relativizeの挙動がおかしい
URI base = new URI("http://hostname/root");URI uri = new URI("http://hostname/root/yyy/zzz.html");URI rel = base.relativize(uri);上記コードのrelはyyy/zzz.htmlとなるのが正しい挙動(Javaではそうなる)のはずだが、Android...
View ArticleGitで SSL certificate problem: Invalid certificate chainと表示されクローンできない
Gitで SSL certificate problem: Invalid certificate chainと表示されクローンできないこんな時Web上ではSSLの検証をoffにすれば解決するよという情報が目につくが、自分の場合は端末の時刻が年単位でずれているせいだった。時刻を直すことで無事cloneできるようになった。
View ArticleiOSアプリのアプリ内課金の審査で"デベロッパの対応が必要"と言われる
かなりトラブったのでメモ。iOSアプリのアプリ内課金を非消耗型からサブスクリプション型に変えた非消耗型の時には特に苦労した覚えがないのだが、今回はApp内課金を審査したところ"デベロッパの対応が必要"という形で差し戻された内容を読むと「君のアプリがちゃんとサブスクリプションに対応できてるか確認するからバイナリをアップロードしてね」というもの。これが不親切で具体的にどういう手順でバイナリをアップロード...
View Articleフォルダを標準ファイルアプリで開くIntent
Android 10で導入されたScoped Storageによって、ストレージに読み書きしていたアプリの開発者は大変な目にあっていますが、私も例に漏れず対応に追われています。中でも困っているのが、自作のアプリが部分的にファイルエクスプローラー機能を持っている点。MANAGE_EXTERNAL_STORAGE を使うという最終手段は残っていますが、恐らくGoogle...
View ArticleMacで音が変な時(音飛び、プチプチ音、クリック音がする)はiOSシミュレーターが原因かも
Macで再生音がおかしくなる問題が発生して困った。音飛びというよりはプチプチ音が断続的に入るイメージ。非常に耳障りが悪い。直接的な原因としてはバッファアンダーランな感じ。(断続的にサンプル値が0になるとこういう音になる)YoutubeでもZoomでも発生。スピーカーでもイヤホンでも同じ。で原因を探していると以下を見つけた...
View ArticleAndroid PieでImageViewやbackgroundに設定した画像の色が変わる
Android PieでImageViewやbackgroundに設定した画像の色が変わる現象に遭遇した。(静的に色が変わったり、短い期間に動的に繰り返し変わってチカチカ点滅するような感じになる)今のところAndroid Pie ( Android 9 )のSO-05KとEssential Phone...
View Article