2017-03-14 59 views
0

我有一个应用程序列表,我想按特定顺序运行,然后在主应用程序中用户点击开始按钮,然后启动应用程序一旦时间到了,它会启动第二个应用程序,然后重复第三和第四个应用程序。所有应用程序都已自动超时,一旦达到该时间,应用程序就会结束,您将被带回“主应用程序”。每个应用程序都有一定的时间设置,但每次启动应用程序时,用户都会进入一个屏幕,点击每个应用程序的开始位置。此外,时机是内部各application.I想的是一样的东西:在Android系统中启动并完成应用程序

用户在“主应用程序”:

  1. 用户单击“主应用程序”“开始”按钮
  2. 应用1启动和时间开始
  3. 应用1时结束,然后应用程序2被启动
  4. 应用2时间结束,然后应用程序3被启动
  5. 应用3时结束,然后应用程序4被推出
  6. 应用程序4时间结束,然后它返回到“主应用程序”

有没有办法在Android中以编程方式执行此操作?

+0

你可以用定时器启动它们中的每一个。最好在前台服务中设置定时器。 –

+0

谢谢你的回应!但是,我只希望在完成之前的应用中的活动后启动下一个应用(每个应用已设置一段时间,但当应用启动时,用户会进入一个屏幕,点击它们以开始每个应用应用程序) – cjstittles

回答

0

通过应用程序您的意思是活动/屏幕?如果我理解正确的话,你应该使用这个活动之间切换/画面(这个例子推迟发射活动的5秒钟。):

new Handler().postDelayed(new Runnable() { 
    @Override 
     public void run() { 
     Intent i=new Intent(getApplicationContext(),SecondScreen.class); 
     startActivity(i); 
    } 
}, 5000); 

如果我是正确的,你应该能够做一些工作电流您调用此代码后的活动。如果用户没有收到他想要的一切,只需拨打这个:

Intent i = new Intent(getApplicationContext(), SecondScreen.class); 
StartActivity(i); 

Link to the original answer about delaying activity call

如果您要在应用程序之间切换,尝试下面的代码:

new Handler().postDelayed(new Runnable() { 
    @Override 
    public void run() { 
     PackageManager manager = context.getPackageManager(); 
     try { 
      Intent i = manager.getLaunchIntentForPackage(com.google.android.yourApp); 
      if (i == null) { 
       //throw new PackageManager.NameNotFoundException(); 
      } 
      i.addCategory(Intent.CATEGORY_LAUNCHER); 
      context.startActivity(i); 
     } 
    } 
}, 5000); 

Link to the original answer about calling new application

+0

谢谢你的回复!通过应用程序,我的意思是不同的应用程序。我们正在使用我们在内部开发的各种应用程序进行主题测试,因此我们需要它们按顺序运行。有任何想法吗? – cjstittles

+0

我为你编了答案,看看吧!试试看它是否有效,并给我一些反馈! –

相关问题