再会,
该应用程序需要监视传入的短信,即使应用程序被杀死,所以我认为服务是完成这项工作的最佳方式,但当我尝试调用视图模型时,我遇到了问题。
我正在尝试使用我的项目服务从后台进程中选择、插入、更新、删除我的房间数据库。这是我的简单代码。
public class ReadIncomingSMS extends Service {
RoomViewModel model;
@Override
public IBinder onBind(Intent intent) { return null; }
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
model = ViewModelProviders.of((FragmentActivity) getApplicationContext()).get(RoomViewModel.class);
}
}
但 logcat 说,
java.lang.RuntimeException:无法启动服务 com.mgb.textvote.services.ReadIncomingSMS@3ae6b5cf 与 Intent { cmp=com.mgb.textvote/.services.ReadIncomingSMS }:java.lang.ClassCastException:android.app.Application 不能在 android.app.ActivityThread.handleServiceArgs(ActivityThread.java:3119) 处转换为 androidx.fragment.app.FragmentActivity
引起原因:java.lang.ClassCastException:android.app.Application无法在com.mgb.textvote.services.ReadIncomingSMS.onStartCommand(ReadIncomingSMS.java:47)处转换为androidx.fragment.app.FragmentActivity
如果应用程序上下文无法转换为fragmentActivity,那么我们如何使用服务内的房间数据库或者在后台进程中查询的最佳方法是什么?
BIG阳
交互式爱情
相关分类