再起動イベントをリッスンしようとしています。
次のクラスを作成しました。
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.util.Log;
public class OnBootReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
Log.i("MYBOOTRECEIVER", "HELLO!");
}
}
次に、マニフェスト ファイルに次の xml を追加しました。
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.mypackage"
android:installLocation="internalOnly"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="3"
android:targetSdkVersion="8" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<application android:label="@string/app_name" >
<receiver android:name=".OnBootReceiver" >
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
<action android:name="android.intent.action.QUICKBOOT_POWERON" />
<category android:name="android.intent.category.HOME" />
</intent-filter>
</receiver>
</application>
</manifest>
しかし、このアプリをインストールしてデバイスを再起動しても、何も起こりません。(私はAndroid 3.2を搭載したGalaxy Tab 8.9を使用しています)。マニフェストからわかるように、内部メモリにアプリをインストールしました (stackoverflow の同様の質問で提案されているように) ... Quickboot_poweron アクションも入れました (Galaxy タブが htc デバイスと同様の動作をするかどうかを確認するため) ...しかし、何もありません。誰かが私を助けてくれることを願っています!