2011年10月27日Android2.2以上の端末で付箋紙やアナログ時計アプリをSDカードにインストールするとウィジェットに表示しないという致命的な障害の事を書きました。ウィジェットとは上のアナログ時計みたいにAndroidの画面上にアイコンとは別に貼り付ける事の出来る機能です。この障害は、うちのアプリに限らずウィジェットという機能を使うアプリ全般に起きる現象なので、Androidの仕様と言えます。うちでウィジェット対応していた付箋紙とアナログ時計はインストール先を”internalOnly”にする事で対応しました。今日は、メモ帳アプリの機能でアプリをスグに動かせる様、通知バーにショートカット機能を付けていたのですが電源OFF>ONにした時にショートカットが残らないのでプログラムを修正しました。Tabで動作確認をしていると通知バーに出ない・・・・よくよく調べてるとメモ帳のインストール先がSDカード。”もしや?!”と思って調べたら案の定、”SDカードにインストールしたアプリでは通知バーの機能が使えない”という事です。正確には通知バーという事だけではなく、アプリの中でACTION_BOOT_COMPLETEDという機能を使い、電源がONされたタイミングで通知バーを表示する様にしているのですが、SDカードにインストールすると”ACTION_BOOT_COMPLETED”を受け取らないので、プログラムを書いても意味がないという事です。これも前述のウィジェット同様Androidの仕様ですね。Android側としてはプログラムやデータは本体、写真や音楽の様なデータはSDカードに置くのを想定しているんでしょうね。2.2からSDカードにインストール出来るようにした時点で上記のルールが破綻してるのに気づいないのでしょうか。ウィジェットも含め、こういう仕様はOSのバージョンアップで解決するんでしょうけど、現時点でも2.1ユーザーも数多くいる事から、是非前のバージョンの仕様も変更してもらいたいものです。Chromeの”メモリが不足しています。キャンセル投稿を送信できませんでした。メールアドレスを確認してください。メール送信チェックに失敗しました。このブログではメールでの投稿共有はできません。