怎样让android应用永远不退出或者退出后有通知

怎样让android应用永远不退出或者退出后有通知,第1张

要想永远不被系统kill掉,那你只能是升级成系统应用。

你的这个需求其实我也做过但是也不是%100 保证 Service 永远不被 Kill

说一下我的思路吧

1,定义一个服务在后台运行,让这个服务单独一个进程,不要和你的应用程序共享一个进程。

2在你的service的onDestroy()方法中调用 onStart() 方法。

3定义一个接口开机广播的接收器,开机就启动你的服务。

4根据的业务需求是需要定位,那肯定是需要网络的,你可以再写一个接收网络广播的接收器,当网络设置从断网到联网,就启动你的服务,开始定位。

Android Studio中,随时随地的退出程序(记得导入相应的包,可以设置自动导入所需的包的,下面的代码还没有导入包的部分):

①新建一个 ActivityCollector 类,作为活动管理器,代码如下所示:

public class ActivityCollector {

public static List<Activity> activities = new ArrayList<>();

public static void addActivity(Activity activity) {

activitiesadd(activity);

}

public static void removeActivity(Activity activity) {

activitiesremove(activity);

}

public static void finishAll() {

for (Activity activity : activities)

{

if(!activityisFinishing())

{

activityfinish();

}

}

activitiesclear();

//以下是杀死当前程序进程的代码,保证程序彻底退出。

androidosProcesskillProcess(androidosProcessmyPid());

}

}

②再新建一个类BaseActivity,并让所有活动继承这个类,也就是其他的全部活动都改为extends BaseActivity,而不是原来的extends AppCompatActivity。

public class BaseActivity extends AppCompatActivity {

@Override

protected void onCreate(Bundle savedInstanceState) {

superonCreate(savedInstanceState);

Logd("BaseActivity", getClass()getClass()getSimpleName());

ActivityCollectoraddActivity(this);

}

@Override

protected void onDestroy() {

superonDestroy();

ActivityCollectorremoveActivity(this);

}

}

③在你想要退出程序的页面(Activity)的setContentView(Rlayout); 下面加上如下代码,从而实现点击一个按钮退出整个程序。

Button button3 = (Button) findViewById(Rid);

button3setOnClickListener(new ViewOnClickListener() {

@Override

public void onClick(View v) {

ActivityCollectorfinishAll();

}

});

//号部分看具体情况而定

1MainActivityjava

//添加自身Activity到集合,每个activity都要添加

PublicWayactivityListadd(this);

Button exit=(Button)findViewById(Ridexit);

//退出程序事件

exitsetOnClickListener(new OnClickListener(){

@Override

public void onClick(View v) {

// TODO Auto-generated method stub

//遍历Activity集合,关闭所有集合内的Activity

for(int i=0;i<PublicWayactivityListsize();i++){

if (null != PublicWayactivityListget(i)) {

PublicWayactivityListget(i)finish();

}

}

}

});

2PublicWayjava

public class PublicWay {

//存放所有的Activity

public static List<Activity> activityList = new ArrayList<Activity>();

}

此方法可以关闭所有Activity,即实现退出程序

以上就是关于怎样让android应用永远不退出或者退出后有通知全部的内容,包括:怎样让android应用永远不退出或者退出后有通知、怎么在android实现退出功能、android 程序点击button退出程序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/9698997.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-01
下一篇2023-05-01

发表评论

登录后才能评论

评论列表(0条)

    保存