我已经在启动时阅读了一些关于启动服务的教程.我所做的是:
在清单中:
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" >
</uses-permission>
<receiver android:name="my.package.ServiceStartup" >
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
</intent-filter>
</receiver>
Run Code Online (Sandbox Code Playgroud)
码:
public class ServiceStartup extends BroadcastReceiver {
public void onReceive(Context context, Intent intent) {
Handler h = new Handler();
h.postDelayed(new Runnable() {
@Override
public void run() {
Intent dialogIntent = new Intent(getBaseContext(), MyActivity.class);
dialogIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
getApplication().startActivity(dialogIntent);
}
}, 10000);
}
}
Run Code Online (Sandbox Code Playgroud)
这样,如果我重启我的设备并转到活动应用程序中的设置,我的服务就不会启动.我能做什么?我在哪里犯错误?谢谢!!
我开发了一个关于C#的程序.在我的程序中,当用户保存个人设置时,程序可以遵循规则.1-保存设置.保存后关闭所有表格和程序.3-并重启程序.
我完成了1.和2.步骤
我怎么能完成3.步骤?谢谢你的耐心.
在我的 Web 应用程序Application.End中,由于某种原因在每次请求后都会调用并重新启动应用程序。当我在中设置断点时,Applicaion_End我没有得到有用的堆栈跟踪。此外,事件查看器中没有条目。根据 MSDN,以下可能会导致应用程序重新启动:
- 从应用程序的 Bin 文件夹中添加、修改或删除程序集。
- 从 App_GlobalResources 或 App_LocalResources 文件夹中添加、修改或删除本地化资源。
- 添加、修改或删除应用程序的 Global.asax 文件。
- 在 App_Code 目录中添加、修改或删除源代码文件。
- 添加、修改或删除配置文件配置。
- 在 App_WebReferences 目录中添加、修改或删除 Web 服务引用。
- 添加、修改或删除应用程序的 Web.config 文件。
我猜我的代码更改了一些触发应用程序重新启动的文件。有什么办法可以找出究竟是什么原因导致应用程序重新启动?
编辑:我现在通过逐步执行代码并在资源管理器中查看时间戳来解决我的问题。在应用程序启动时,我正在从导致创建和删除 .ldb 文件的访问数据库中读取一个值。然而,这个问题还没有得到解答。是否有任何日志记录导致应用程序重新启动的此类事件?
我建立了一个Chrome扩展程序,该扩展程序会泄漏内存。我正在修复内存泄漏,但与此同时,一些朋友已经在使用它。
作为一种临时措施,我想提供一个补丁,该补丁会定期自动重启扩展程序。
该怎么做?即从扩展程序本身内部重启chrome扩展程序。
谢谢,
在我的应用程序中,如果用户旋转手机,我不想在启动后重新启动媒体播放器.如何在旋转时阻止重新启动应用程序,因为它会停止正在播放的正在运行的声音文件?
请告诉我需要添加的代码以及添加位置.
谢谢.
真的,Emad
在正在运行的Android应用程序中,我想请求相同的app(1)从我的私人Web服务器重新下载,(2)重新安装自己,然后(3)重新安装后重新启动.
我知道如何执行第1步和第2步,但我还没弄清楚如何执行第3步.
在下载之后,我像这样执行第2步(其中this.apkpath先前已在我的SD卡上设置为下载的APK的完整路径名):
try {
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(Uri.fromFile(new File(this.apkpath)),
"application/vnd.android.package-archive");
this.activity.startActivity(intent);
}
catch (Throwable t) {
// handle exceptions
}
Run Code Online (Sandbox Code Playgroud)
此代码成功后,我的屏幕上会弹出安装确认对话框,并在此确认后重新安装.但是,安装后,控制权返回到我的桌面管理器,我必须手动重新启动我重新安装的应用程序.
在重新安装后,我可以通过编程方式强制应用程序自动重启?
我一直在运行的应用程序(用C++编写)自上次更新后随机崩溃,但在崩溃之间它运行良好,所以我想让它继续运行.它与segfault崩溃.我尝试编写一个这样的简单C程序:
while (1) {
if (!program_is_running()) {
fp = popen("/usr/bin/program", "r");
fclose(fp);
}
else
sleep(15);
}
Run Code Online (Sandbox Code Playgroud)
当被调用的程序段错误时,我的程序似乎停止了.会exec或system(或其他)电话是一个更好的选择popen吗?在我的谷歌冒险中,我已经阅读了(并考虑尝试)daemontools监督,但我没有任何经验,似乎它应该是一个相对简单的事情使用C然后在这里我问这样的问题所以也许不是......在这一点上,它比真正试图保持程序运行更有好奇心,因为有现成的工具来完成它.
在使用C的Ubuntu 12.04计算机上重启程序崩溃的程序有什么简单可靠的方法?假设program_is_running()返回0false,PID 返回true.
我一直在研究我的学校项目,现在我已经坚持了几天.任何形式的帮助将非常感谢!
到目前为止我尝试过的:
这就是我要做的事情:
用C创建一个新文件.用名字保存
process.c(这个)Run Code Online (Sandbox Code Playgroud)#include <stdio.h> #include <unistd.h> int main() { printf("Creating a background process..\n"); pid_t pid = fork(); if (pid > 0) return 0; /* Host process ends */ if (pid < 0) return -1; /* Forking didn't work */ while(1) { } /* While loop */ return 0; }将以下代码编译为调用的工作程序
process.o并启动该过程.(这是否适用于此点)使用
kill重新启动的命令process.o(杀死进程有效,但不重启)