2014-12-05 20 views
0

我需要在后台运行一段android应用程序(例如5秒),然后在前台运行一段时间(再说5秒)。该应用程序应该在前景&背景之间切换。由于我是Android新手,我发现了一个解决方案,可以创建一个IntentService以使其在后台运行,然后在前台运行,一些帮助文档说我应该使用Activity来使它前面。在前台和后台运行一个应用程序(时间共享)

+0

为什么你需要在后台运行它,然后在前台运行它?您是否需要为特定原因访问主线程? – 2014-12-05 03:23:21

+0

是的,目前正在处理一个会根据输入触发各种动作的应用程序,截至目前输入源是thro'Galileo板。应用程序shld在后台运行,并且在接收到值时,它会根据收到的值触发操作(如打开相机,锁定手机,解锁手机,拍摄等)。 – 2014-12-05 04:10:34

回答

0

我写了一个服务,将继续接收来自其他设备的值,并根据值触发动作(如打开凸轮,锁定,设置亮度等)。为了触发我使用意图的行为。您可以通过发送软件包名称来调用以下函数来打开安装在手机中的任何应用程序(要从软件仓库中安装“软件包名称查看器”)。

public void triggerAction(String packageName) { 
    Intent i = null; 

    PackageManager manager = getPackageManager(); 
    try { 
     i = manager.getLaunchIntentForPackage(packageName); 

     if (i == null) 
      throw new PackageManager.NameNotFoundException(); 
     i.addCategory(Intent.CATEGORY_LAUNCHER); 
     startActivity(i); 
    } catch (PackageManager.NameNotFoundException e) { 
     Toast.makeText(getApplicationContext(), "FAILED", 
       Toast.LENGTH_SHORT).show(); 
    } 
}