0

我的 android 应用程序中有一个特定的工作流程,所以我不知道应该在哪里绑定 Billing 服务。

最初,我的应用程序启动第一个确定用户位置的后台任务,然后调用第二个后台任务,因为它只能在确定位置后运行。

现在我希望仅在某些订阅处于活动状态时才执行第二个后台任务。

问题是这两个事件——第二个任务的开始和获得服务连接——都没有及时确定,所以我不知道如何在它们之间进行同步。

示例活动:

public class MyActivity extends Activity
{
    public void onLocationChanged(Location location)
    {
        // callback is called when location is obtained
    }

    public void onServiceConnected(ComponentName name, IBinder service)
    {
        // called when service is connected
        mService = IInAppBillingService.Stub.asInterface(service);
    }

}
4

1 回答 1

0

您可以使用同步的 int 计数器,对于您完成的每个步骤,将其增加一。并且每完成一个步骤,调用一个方法,看任务是否完成,是否可以开始下一个任务,psudo代码:

public synchroized boolean executeNext() {
   completedCount++;
   if(completedCount == TOTAL_STEPS) {
       //starts the next task here
       return true;
   }
   return false;
} 
于 2013-07-16T02:45:50.013 回答