-1

私の知る限り、アプリケーションを起動してから20秒後にLogcatにログ「Alarm」が表示されるはずですが、発生していません。私は何が欠けていますか?

public class MainActivity extends Activity {
    private PendingIntent pendingIntent;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        Intent intent = new Intent(MainActivity.this, MainActivity.class);
        pendingIntent = PendingIntent.getService(MainActivity.this, 1, intent, 1);

        AlarmManager manager = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
        manager.set(AlarmManager.RTC_WAKEUP, System.currentTimeMillis() + 20000, pendingIntent);

        Log.d("alarm", "alarm");
    }
}
4

2 に答える 2

1

あなたが使うべきだと思われる

getActivity (Context context, int requestCode, Intent intent, int flags)

Intentサービスではなく、アクティビティクラスを指定します。PendingIntent次に、最後のパラメーター(フラグ)は、クラス内の定数からの値を持つことができます。また、前述のように、2番目のパラメーターは0現在使用されていないものにする必要があります。サンプルの使用法については、この質問を参照してください。

于 2012-07-07T11:37:00.590 に答える
0

試す

pendingIntent = PendingIntent.getService(MainActivity.this, 0, intent, 0);

3番目のパラメータは現在使用されていません。PendingIntentを確認してください

于 2012-07-07T11:34:55.640 に答える