4

学習目的で小さなウィジェットを作成しています。更新間隔を設定する構成アクティビティがあります。正常に動作し、複数のインスタンスを作成できます。しかし、電話を再起動すると、アラーム マネージャーが停止し、ウィジェットが更新されません。いくつかの検索とググった後、BOOT COMPLETEレシーバーを追加する必要があることを知りましたが、何度か試みた後、実装に失敗したため、それを追加する方法またはウィジェットに適切なソースコードの例を誰かが知っています。

4

2 に答える 2

7

起動時に何かを行うには、次のようにするだけです。

最初にmanifest、これはアプリケーション タグの下に追加されます。

    <receiver android:name="AlarmReceiver">
    <intent-filter>
        <action android:name="packagename.ACTION"/>
        <action android:name="packagename.ACTION2"/>
    </intent-filter>
</receiver>

<receiver android:name="BootSetter" >
    <intent-filter>
        <action
            android:name="android.intent.action.BOOT_COMPLETED" />
    </intent-filter>
</receiver>

これを機能させるには、次の行を使用してマニフェストにブロードキャストを受信する権限を追加する必要があります。

<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />

次に、クラス BootSetter があります。

public class BootSetter extends BroadcastReceiver {

    @Override
    public void onReceive(Context context, Intent intent) {
        // Do your stuff
    }
}

ここには完全に同じではありませんが、同様の投稿があります。毎日正午にアラームを鳴らすことです。

于 2012-11-22T11:52:40.930 に答える