По поводу того что сяоми miui останавливает процесс это у него такое "энергосбережение"(даже если оно отключенно). На форумах ведроид разрабов вроде видел обсуждение этой темы и обходы
import android.app.Notification
import android.app.NotificationChannel
import android.app.NotificationManager
import android.app.PendingIntent
import android.app.Service
import android.content.Context
import android.content.Intent
import android.content.SharedPreferences
import android.os.IBinder
import android.util.Log
import androidx.core.app.NotificationCompat
import kotlinx.coroutines.*
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch
import java.net.HttpURLConnection
import java.io.OutputStream
import java.net.URL
class PingService : Service() {
private val scope = CoroutineScope(Job() + Dispatchers.IO)
override fun onStartCommand(intent: Intent?, flags: Int, startId: Int): Int {
Log.d("stateinfoping", "onStartCommand() вызван в Pinger, сервис запущен")
// Используйте startForegroundService для запуска сервиса
val notification = createNotification() // Создайте уведомление
startForeground(1, notification) // Установите сервис в режим переднего плана с уведомлением
val message = "Пингуем..."//сообщение на сервер
// Запускаем цикл отправки сообщений с интервалом в 30 секунд
scope.launch {
repeat(Int.MAX_VALUE) {
sendPing(this@PingService, message)
Log.d("stateinfoping", "Отправлен пинг")
delay(10 * 1000L) // Пауза в 30 секунд (30 * 1000 миллисекунд)
}
}
return START_STICKY
}
override fun onDestroy() {
super.onDestroy()
Log.d("stateinfoping", "onDestroy() вызван")
scope.cancel()
}
override fun onBind(intent: Intent?): IBinder? {
return null
}
private fun createNotification(): Notification {
// Создайте канал уведомлений
val channelId = "ping_service_channel"
val channelName = "Ping Service Channel"
val notificationChannel =
NotificationChannel(channelId, channelName, NotificationManager.IMPORTANCE_DEFAULT)
val notificationManager = getSystemService(Context.NOTIFICATION_SERVICE) as NotificationManager
notificationManager.createNotificationChannel(notificationChannel)
// Создайте уведомление
val notificationIntent = Intent(this, MainActivity::class.java)
val pendingIntent = PendingIntent.getActivity(
this, 0, notificationIntent,
PendingIntent.FLAG_UPDATE_CURRENT or PendingIntent.FLAG_IMMUTABLE
)
val notification = NotificationCompat.Builder(this, "ping_service_channel")
.setContentTitle("Ping Service")
.setContentText("Сервис Ping активен")
.setSmallIcon(R.drawable.ic_launcher_background)
.setContentIntent(pendingIntent)
.build()
return notification
}
fun sendPing(context: Context, message: String) {
// Получение значения id из SharedPreferences
val sharedPreferences: SharedPreferences = context.getSharedPreferences("default", Context.MODE_PRIVATE)
val id = sharedPreferences.getString("id", "test")
// URL сервера для отправки запроса
val url = URL("https://yourserver.com/ping")
// Открытие соединения
val connection = url.openConnection() as HttpURLConnection
connection.requestMethod = "POST"
connection.doOutput = true
connection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded")
// Параметры POST запроса
val postData = "id=$id&message=$message"
// Отправка данных
val outputStream: OutputStream = connection.outputStream
outputStream.write(postData.toByteArray())
outputStream.flush()
outputStream.close()
// Получение ответа
val responseCode = connection.responseCode
val responseMessage = connection.responseMessage
// Закрытие соединения
connection.disconnect()
// Вывод информации о результате запроса
println("Response Code: $responseCode")
println("Response Message: $responseMessage")
}
}
startService(Intent(this, PingService::class.java)) //старт сервиса пинга<uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
выздоравливайИз дома выхожу только за следующей бутылкой
Ты первый раз взаимодействуешь со мной, и первым словом называешь "братан"
да время такое, называю братом каждого третьего, ибо так просто удобно когда у чела в нике српски политичарСейчас время такое пошло
это хакерски борд? я думал дефолт информационно-технический форум, особенно когда увидел тут новости про обман на продаже контейнеров...мысли про хакеров куда-то исчезли и вовсехакерском форуме
абсолютно любая нация, любой этнос/народ такой темой может промышлять... по такой логике и любые другие нации можно назвать чурками, и мы тоже чурки тогда когда к примеру в пендосию через мексику бежимчурками я назвал тех, кто покупает паспорта России по связям
да истинысорри, что я все о своем - о просе (==зерно).
То есть со стороны ..организационной, например, тот же Ермак - это был продукт, который продавался в открытую и незадешево.
30Кх100 =3М, а продаж совсем, совсем не 100...
И ботнет, как те пресловутые лопаты на Аляске, даст овнеру стабильный доход. Который можно контролировать находясь сверху, делегируя полномочия (саппорт, продажники).
А вот эти самые выше упомянутые ухищрения - с кнопочками, накладочками, фишами - работа в большей степени для одиночки(кодера). Да, прибыльная, но несистемная, требующая постоянного контроля-участия-модификаций, то есть "операционка".
Вот и весь расклад по симпатиям и направлениям на самом-то деле, на мой посторонний взгляд.
наверное, речь о софте, с которым можно "медленно спуститься с горы и покрыть все стадо"?. Если так, то живет он конечно не час, но доход порой проблематичен...
Или что-то другое?)
! Мур - прокомментируй,плз
это который b? или который c?
То ВНЦ то ладно но ХВНЦ в Андроиде под большим вопросом (Его никто не сделали, грубо говоря сделали но только на суперпривате)Дайте мне ВНЦ