下記の様なBroadcastReceiverを使ったRepeat処理をするアプリについてですが、最近スマートフォンの仕様が変わったのかRepeat(繰り返し)しなくなりました。おかしいなと思い実機スマートフォンの設定を確認したところ
デフォルトの設定がRepeatしないになっていてユーザーが設定を手動で変更しなけれはいけないようになっていました。
教えて欲しいのは、
1、今までデフォルトになっていた設定が変更になることはあるのでしょうか?
2、繰り返し処理ですがBroadcastReceiver以外にも使えそうなものはあるでしょうか?
お手数ですが教えてください。
環境 Android Studio 2.2.3
os mac
スマートフォン端末 android5.1
public class TestReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { long ut = SystemClock.uptimeMillis(); Toast.makeText(context, String.valueOf(ut / 1000) , Toast.LENGTH_LONG).show(); } } public class MainActivity extends AppCompatActivity { private AlarmManager alarmManager; private PendingIntent pendingIntent; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); long ut = SystemClock.uptimeMillis(); Toast.makeText(getApplicationContext(), String.valueOf(ut / 1000) , Toast.LENGTH_LONG).show(); Intent intent = new Intent(getApplicationContext(), TestReceiver.class); pendingIntent = PendingIntent.getBroadcast(getApplicationContext(),0,intent,0); alarmManager = (AlarmManager)getSystemService(ALARM_SERVICE); alarmManager.setRepeating( AlarmManager.RTC, 5000, //開始時間 5000, //repeatTime pendingIntent ); } @Override public void onPause(){ super.onPause(); alarmManager.cancel(pendingIntent); } } コード
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。