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