是否可以从BroadcastReceiver调用非活动类,如果可以,我们该怎么做?

问题描述

| 我有一个broadcastReceiver,它会在电话状态更改时通知,那时我不希望从ѭ0this(这位于我的非活动类)中获取数据并将其保存到我的sqlite数据库中。但是现在我遇到了问题上课时。 由于我是Android新手,因此不胜感激。 提前致谢     

解决方法

        您可以从BroadcastReceiver启动IntentService,然后从那里开始任何您想做的事情。
public class UpdateReceiver extends BroadcastReceiver {

    private static Context mContext;

    @Override
    public void onReceive(Context context,Intent intent) {             
        mContext = context;     
        context.startService(new Intent(context,UpdateService.class));     
    }

    public static class UpdateService extends IntentService {

        public UpdateService() {
            super(\"UpdateService\");
        }

        @Override
        protected void onHandleIntent(Intent intent) {      
            // Do whatever you want from here
            Logic.doSomething(mContext);
        }
    }
}
将服务添加到清单。
<service android:name=\"com.example.UpdateReceiver$UpdateService\" />