2012年1月6日金曜日

【未解決】 BOOT_COMPLETEDとamコマンド

起動のイベントを取るには以下をBroadcastReceiverで受ければOK

android.intent.action.BOOT_COMPLETED

詳細は例によってtechboosterさんとかを参照
http://techbooster.org/android/application/1100/

これらの動作を確認するのに一々rebootなんかしてられませんので、
下記コマンドをターミナルから叩いて動作確認!

adb shell am broadcast -a android.intent.action.BOOT_COMPLETED

と思ったらこれが受信しないわけです。

結論から言うとパーミッションをマニフェストに書く位置が問題でした。


以下だとOK





    

    
        
            

            
        
    



以下だと「実際に端末を起動」したときはOKですが、ターミナルからイベント発行時はなぜか認識されず…
認識しなかった端末は以下
  • Desire
  • INFOBAR
  • IS03





    

    
        
            

            
        
    




    

    
        
            

            
        
    


これ何故なんでしょうか…

ちなみにエミュレータだとどれでも問題なく動作します。

なお後者の書き方でイベント発行時はこんな警告が出ます

permission denial言われてもねぇ…
そしてプリインストールと思われるアプリも幾つか引っかかっている。

とにかくBOOT_COMPLETEDをターミナルから叩くときは、端末によってはパーミッション書く位置で
動作しなかったりするっぽいから注意!でいいのだろうか?

もしくは他に要因があるのかな?詳しく知っている人居たら教えて欲しいです。

0 件のコメント:

コメントを投稿