0

在 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 中创建的某个实例,还是会创建该类的另一个实例作为实际服务运行?

4

1 回答 1

0

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

于 2012-08-22T16:23:36.950 回答