首页 > 解决方案 > 更改意图android的上下文

问题描述

我有一个服务开始:

override fun onActivityResult(
        requestCode: Int,
        resultCode: Int,
        data: Intent?
    ) {
        if (requestCode == com.robertohuertas.endless.MainActivity.REQUEST_CODE) {
            if (resultCode == Activity.RESULT_OK) {
                    val intentx:Intent =ScreenCaptureService.getStartIntent(this,resultCode,data)
                    startService(intentx)

当手机重新启动时,我将重新启动服务。我将意图保存在sharedPreferences. 但是当重启后的手机上下文不同时,现在我将意图作为代码(intentx):

class StartReceiver : BroadcastReceiver() {
    private val PREFS_KEY_intent = "myPreferncesintent"
    private val PASSWORD_KEY_intent = "myPreferncesintent"
    var intentx: Intent? =null

    @RequiresApi(Build.VERSION_CODES.O)
    override fun onReceive(context: Context, intent: Intent) {

        val sharedPreferences: SharedPreferences =
            context.getSharedPreferences(PREFS_KEY_intent, Context.MODE_PRIVATE)
        val key= sharedPreferences.getString(PASSWORD_KEY_intent, "")
        try {
            intentx= Intent.parseUri(key, 0)
        } catch (e: URISyntaxException) {
            // TODO Auto-generated catch block
            e.printStackTrace()
        }

简而言之示例:Intent intent = new Intent(context, com.robertohuertas.endless.ScreenCaptureService.class);如何在此“意图”中更改上下文

标签: androidandroid-intentservice

解决方案


推荐阅读