继续我学习Android的尝试,我只是阅读以下内容:
问题:用户是否可以选择终止应用程序,除非我们使用菜单选项来杀死它?如果不存在这样的选项,用户如何终止该应用程序?
答案:(Romain Guy):用户没有,系统会自动处理.这就是活动生命周期(特别是onPause/onStop/onDestroy)的用途.无论你做什么,都不要放"退出"或"退出"应用程序按钮.它与Android的应用程序模型无关.这也与核心应用程序的工作方式相反.
呵呵,我在Android世界中采取的每一步都会遇到某种问题=(
显然,你无法在Android中退出应用程序(但Android系统可以很好地完全破坏你的应用程序).那是怎么回事?我开始认为编写一个充当"普通应用程序"的应用程序是不可能的 - 用户可以在他/她决定这样做时退出应用程序.这不应该依赖操作系统来做.
我尝试创建的应用程序不是Android Market的应用程序.它不是一般公众"广泛使用"的应用程序,它是一个将用于非常狭窄的业务领域的商业应用程序.
我实际上真的很期待为Android平台开发,因为它解决了Windows Mobile和.NET中存在的许多问题.然而,上周对我来说有点懈怠...我希望我不必放弃Android,但它现在看起来不太好=(
有没有办法让我真的退出申请?
我遇到了一个因URL.setURLStreamHandlerFactory(factory);正在更新的Android应用程序中调用而导致的意外错误.
public class ApplicationRoot extends Application {
static {
/* Add application support for custom URI protocols. */
final URLStreamHandlerFactory factory = new URLStreamHandlerFactory() {
@Override
public URLStreamHandler createURLStreamHandler(final String protocol) {
if (ExternalProtocol.PROTOCOL.equals(protocol)) {
return new ExternalProtocol();
}
if (ArchiveProtocol.PROTOCOL.equals(protocol)) {
return new ArchiveProtocol();
}
return null;
}
};
URL.setURLStreamHandlerFactory(factory);
}
}
Run Code Online (Sandbox Code Playgroud)
介绍:
这是我的情况:我正在维护一种用于企业时尚的非市场应用程序.我的公司销售的平板电脑包含由业务开发和维护的预安装应用程序.这些预安装的应用程序不是ROM的一部分; 它们作为典型的未知源应用程序安装.我们不会通过Play商店或任何其他市场进行更新.相反,应用程序更新由自定义Update Manager应用程序控制,该应用程序直接与我们的服务器通信以执行OTA更新.
问题:
我维护的此Update Manager应用程序偶尔需要自行更新.应用程序更新后,它立即通过android.intent.action.PACKAGE_REPLACED广播重新启动,我在AndroidManifest中注册.但是,在更新后立即重新启动应用程序时,我偶尔会收到此消息Error
java.lang.Error: Factory already set
at java.net.URL.setURLStreamHandlerFactory(URL.java:112)
at …Run Code Online (Sandbox Code Playgroud) 如何在单击中终止整个应用程序..完成()不起作用?它重定向到以前的活动...请指导我.
public void onClick(View arg0) {
// TODO Auto-generated method stub
WallpaperManager wp = WallpaperManager
.getInstance(getApplicationContext());
try {
Display d = ((WindowManager) getSystemService(Context.WINDOW_SERVICE))
.getDefaultDisplay();
int width = d.getWidth();
int height = d.getHeight();
wp.setBitmap(b1);
} catch (IOException e) {
Log.e("error", "Cannot set image as wallpaper", e);
}
finish();
}
Run Code Online (Sandbox Code Playgroud) 如何使用Java代码强制停止应用程序?我正在尝试构建一个内存清理器,它可以帮助清理后台进程.强制停止的意思是确保当您转到应用程序详细信息时,FORCE STOP按钮显示为灰色.我知道有一种方法可以杀死应用程序,但是当你进入运行列表时,即使你杀了它,应用程序仍然存在.我已经尝试了很多类似的内存清理应用程序,其中只有一个可以完全FORCE STOP应用程序,但它有很多无用的通知 - 非常烦人.
PS:当你去__CODE__,你可以看到一个应用程序列表,点击其中一个,你可以获得它的应用程序信息.有一个名为FORCE STOP的按钮.通过点击它,该应用程序完全被杀死.我想在我的应用程序中执行这种操作,是否有任何代码片段可以执行此操作?

可能重复:
Android:如何使用其所有活动终止应用程序?
我正在寻找一种方法来杀死整个应用程序(例如关闭进程),以防我的应用程序崩溃.我想这样做的原因是因为很多我的运行时数据存储在一个静态类中,所以当应用程序崩溃时,这个类就被杀死了.
我已经看到了关于Android哲学的相关问题(例如关于不杀死应用程序等),但是现在我只需要杀死我的应用程序.我怎样才能做到这一点?
我的应用程序有多个活动,我尝试了以下内容.它所做的只是恢复以前的活动.
System.exit(0)
Run Code Online (Sandbox Code Playgroud)
ActivityManager servMng
servMng = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
servMng.killBackgroundProcesses(<my package name>);
Run Code Online (Sandbox Code Playgroud)
android.os.Process.sendSignal(android.os.Process.myPid(),
android.os.Process.SIGNAL_KILL);
Run Code Online (Sandbox Code Playgroud)
android.os.Process.killProcess(android.os.Process.myPid());