Android上是否总有一个结算服务实例?

时间:2012-08-22 16:10:57

标签: android service

在Google的In App Billing示例(Dungeons)中,在主Activity onCreate中创建了一个Service实例:

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    mHandler = new Handler();
    mDungeonsPurchaseObserver = new DungeonsPurchaseObserver(mHandler);
    mBillingService = new BillingService();
    mBillingService.setContext(this);
    ....
 }

并且在接收器中,服务由context.startService启动。

private void notify(Context context, String notifyId) {
    Intent intent = new Intent(Consts.ACTION_GET_PURCHASE_INFORMATION);
    intent.setClass(context, BillingService.class);
    intent.putExtra(Consts.NOTIFICATION_ID, notifyId);
    context.startService(intent);
}

会以某种方式通知使用在onCreate中创建的某个实例,还是会创建另一个作为实际服务运行的类的实例?

1 个答案:

答案 0 :(得分:0)

你是什么意思"总是一个实例"?这很重要吗? 据我所知,当接收者得到它时,它启动服务并检查用户是否实际购买了它(即获取购买信息)。服务完成后,它会向您发送广播消息,以便您可以采取相应措施。我不认为它总是在后台运行。