Moi*_*nez 7 android android-service
我想在启动Service应用程序而不是活动时启动一个; 然后说服务将启动an Activity.我需要这样做,因为我的应用程序需要始终运行,当我说我总是说我总是这样.我设法避免操作系统杀死我的应用程序的唯一方法是启动服务作为Sticky并且Android应该杀死我的活动或我的服务我将立即重新启动它们.
我发现了这个问题,但最重要的答案似乎相当笨拙,任何人都有更好的主意?
PS:我知道这看起来不是一个非常友好的应用程序,但这是一个非常具体的研究方案,它不适合普通用户,即手机仅用于此目的; 但是,即使内存专用于我的应用程序,Android也时不时地杀死它......我对Android的声称严格的内存管理方案的任何怀疑现在都消失了.
Mar*_*ski 12
一般来说,Activity不必显示任何UI - 它通常会显示但不是强制性的.因此,您只需将应用程序的起点设置为"隐形"活动即可.无形的意思是主题为
android:theme="@android:style/Theme.NoDisplay"
Run Code Online (Sandbox Code Playgroud)
或者只是你的代码不会做任何事情setContentView(),一旦它完成了你的工作onCreate(),你就开始另一个活动,并终止这个活动finish()- 并且不会从该活动中弹出任何UI - 这样你就可以轻松地从活动子类中完成工作中受益(对于某些任务可能更简单)并且仍然不需要任何UI:
public void onCreate(Bundle bundle) {
super.onCreate(bundle);
// [... do your job here...]
// we're done, so let's jump to another acitivity
// this can be skipped if you do not want to jump anywhere
Intenet intent = new Intent(....)
...
try {
startActivity( intent );
// finish him
finish();
} catch ( Exception e ) {
e.printStackTrace();
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4398 次 |
| 最近记录: |