在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中创建的某个实例,还是会创建另一个作为实际服务运行的类的实例?
答案 0 :(得分:0)
你是什么意思"总是一个实例"?这很重要吗? 据我所知,当接收者得到它时,它启动服务并检查用户是否实际购买了它(即获取购买信息)。服务完成后,它会向您发送广播消息,以便您可以采取相应措施。我不认为它总是在后台运行。