BOOT_COMPLETED i nasıl çalıştıracağımı bulamadım.
09.12.2019 - 07:46
Gün içinde 3 adet bildirim gönderen bir uygulama yaptım. Ancak telefon kapanıp açıldığında yada yeniden başlatıldığında AlarmManager ile kurduğum alarmlar iptal oluyor. Ben telefon açıldığında alarmları yeniden kurmak istiyorum ancak bir türlü yapamadım. Sizce sebebi ne olabilir.
AlarmService çalışıyor uygulama içinden çalıştırıyorum hiç bir sorun olmuyor.
AndroidManifest.XML
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.atabassoft.aswim">
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<uses-permission android:name="android.permission.VIBRATE" />
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:networkSecurityConfig="@xml/network_security_config"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".InstallActivity" />
<activity android:name=".SendItemActivity" />
<activity android:name=".SettingsActivity" />
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<receiver android:name=".BootReceiver" android:enabled="true" android:exported="true">
<intent-filter>
<action android:name="android.intent.action.REBOOT"/>
<action android:name="android.intent.action.BOOT_COMPLETED"/>
</intent-filter>
</receiver>
<receiver android:name=".AlarmReceiver" android:enabled="true" android:exported="true" />
<service android:name=".GetItemService" android:enabled="true" android:exported="true" />
<service android:name=".SetAlarmService" android:enabled="true" android:exported="true" />
</application>
</manifest>
BootReceiver
class BootReceiver : BroadcastReceiver(){
override fun onReceive(context: Context, intent: Intent) {
if(Intent.ACTION_BOOT_COMPLETED == intent.action){
val nIntent = Intent(context, SetAlarmService::class.java)
context.startService(nIntent)
}
}
}
SetAlarmService
class SetAlarmService : Service() {
override fun onBind(intent: Intent?): IBinder? {
return null
}
override fun onStartCommand(intent: Intent?, flags: Int, startId: Int): Int {
AswFunctions().setAlarm(applicationContext)
return super.onStartCommand(intent, flags, startId)
}
}
17
Görüntülenme
0 Beğeni