Android启动无界面的Activity,并且一直后台运行


Android启动无界面的Activity,并且一直后台运行

本文链接:https://www.cnblogs.com/muphy/p/14894754.html

因为需要保证某APP一直可靠运行,需要且只能写一个相互唤醒的Activity守护程序,两个应用互相唤醒

遇到的问题及处理方式:当守护程序被检测是否运行的时候总是跑到前台运行,影响APP的使用,解决方式是让Activity守护程序无界面运行,虽然守护程序被检测时因无界面而显示的还是应用APP的界面,但是APP却操作不了,只能重新通过任务管理器切换到前台重新运行,此时需要配合onResume生命周期函数调用moveTaskToBack函数将守护程序手动移到后台运行,守护程序可以不再最近任务列表显示

MainActivity.java

//package com.muphy;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;

public class MainActivity extends Activity {

    @Override
    protected void onStart() {
        super.onStart();
    }

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        //setContentView(R.layout.activity_main);  有没有都无所谓
        moveTaskToBack(isFinishing());//立即进入后台运行
    }

    @Override
    protected void onResume() {//进入前台
        super.onResume();
        moveTaskToBack(isFinishing());//从前台唤醒立即进入后台运行
    }

}

AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="me.muphy">

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true">

        <activity
            android:name=".MainActivity"
            android:label="@string/app_name"
            android:excludeFromRecents="true" <!-- 最近任务栏不显示activity 这里无关紧要-->
            android:theme="@android:style/Theme.Translucent.NoTitleBar"> <!-- 无界面主题 -->
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM