android - 即使被 kotlin 杀死,我如何让应用程序继续工作
问题描述
我创建了接收和接收短信的应用程序,我想继续在后台工作,它只是接收并读取短信发送到服务器,即使它被杀死,我也需要继续在后台工作,我希望它在手机开机时自动启动上
显现
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.READ_SMS"/>
<uses-permission android:name="android.permission.RECEIVE_SMS"/>
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
<uses-permission android:name="android.permission.READ_PHONE_NUMBERS"/>
<uses-permission android:name="android.permission.FOREGROUND_SERVICE"/>
<uses-permission android:name="android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS"/>
<uses-feature
android:name="android.software.leanback"
android:required="true" />
<uses-feature
android:name="android.hardware.touchscreen"
android:required="false" />
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/Theme.WebView"
tools:ignore="MissingTvBanner">
<activity
android:name=".MainActivity"
android:exported="true">
<intent-filter>
<category android:name="android.intent.category.LEANBACK_LAUNCHER"/>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<service android:name=".ExampleService" android:stopWithTask="false" />
</application>
示例服务
Class ExampleService : Service() {
@RequiresApi(Build.VERSION_CODES.O)
override fun onCreate() {
super.onCreate()
}
override fun onStartCommand(intent: Intent, flags: Int, startId: Int): Int {
var bs:BroadcastReceiver = MyBroadcastReceiver()
val filter = IntentFilter(Telephony.Sms.Intents.SMS_RECEIVED_ACTION).apply {
addAction(Telephony.Sms.Intents.SMS_DELIVER_ACTION)
}
registerReceiver(bs,filter)
return START_STICKY
}
override fun onBind(intent: Intent): IBinder? {
return null
}
override fun onDestroy() {
}
}
解决方案
推荐阅读
- django - 我正在从 API 调用中提取字典,当我提取 URL 信息时,它会在它们周围加上引号和括号
- python - 如何打包我的 python 程序,以便用户可以使用 setup.py 安装它
- javascript - 如何在javascript中按单词序列匹配两个字符串?
- flutter - Flutter:如何在没有小部件的情况下跟踪应用程序生命周期
- javascript - 隐藏特定用户角色 Wordpress 的类 CSS
- python - Sublime Text 不能与 Anaconda 一起编译
- javascript - 第一次在JS中使用API;需要一些数组和页面加载指导
- meteor - Meteor Semantic UI react: 修改用户账户信息
- android-studio - 有没有办法使用 Android Studio 调试 cordova 应用程序并在不同版本的 Android 上进行测试?
- django - 我需要做些什么来加载静态