我有一个没有UI的应用程序。当我的手机启动时,该应用程序应该自动开始运行。这意味着无需单击任何图标。应用程序将像服务一样启动。我怎样才能做到这一点?请回复。
这是我的代码......
公共类BlockApplication扩展Application { int mForegroundProcessId = -1;
public BlockApplication() {
Timer timer = new Timer();
timer.schedule(mCheckForeground, 1000, 1);
}
public static void main(String[] args) {
BlockApplication app = new BlockApplication();
app.enterEventDispatcher();
}
TimerTask mCheckForeground = new TimerTask() {
public void run() {
int id = getForegroungProcessID();
if(id != mForegroundProcessId)
{
mForegroundProcessId = id;
String name = getAppNameByProcessId(mForegroundProcessId);
KeyEvent inject = new KeyEvent(KeyEvent.KEY_DOWN, Characters.ESCAPE, 0);
inject.post();
}
};
};
private int getForegroungProcessID()
{
return ApplicationManager.getApplicationManager().getForegroundProcessId();
}
private String getAppNameByProcessId(int id)
{
String result = null;
ApplicationManager appMan = ApplicationManager.getApplicationManager();
ApplicationDescriptor appDes[] = appMan.getVisibleApplications();
for (int i = 0; i < appDes.length; i++)
{
if (appMan.getProcessId(appDes[i]) == id)
{
result = appDes[i].getLocalizedName();
break;
}
}
return result;
}
}
提前致谢。
答案 0 :(得分:0)
如果您使用Blackberry Ant Tools
http://bb-ant-tools.sourceforge.net/
在jdp标签中,设置这些属性...... runonstartup = “真” startuptier = “7”
这将安排您的应用在设备重置时启动。 如果您使用Eclipse插件,那么在某处应该有类似的配置。
答案 1 :(得分:0)
应用程序需要是一个系统模块。使用Eclipse插件,您应该转到App Descriptor并选中“不要在BlackBerry主屏幕上显示应用程序图标”框。
使用BB Ant工具,您应该将jdp标记中的systemmodule属性设置为true。