第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何使用服務(wù)或的房間數(shù)據(jù)庫

如何使用服務(wù)或的房間數(shù)據(jù)庫

慕妹3146593 2023-07-13 18:10:34
再會,該應(yīng)用程序需要監(jiān)視傳入的短信,即使應(yīng)用程序被殺死,所以我認為服務(wù)是完成這項工作的最佳方式,但當我嘗試調(diào)用視圖模型時,我遇到了問題。我正在嘗試使用我的項目服務(wù)從后臺進程中選擇、插入、更新、刪除我的房間數(shù)據(jù)庫。這是我的簡單代碼。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:無法啟動服務(wù) 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) 處轉(zhuǎn)換為 androidx.fragment.app.FragmentActivity引起原因:java.lang.ClassCastException:android.app.Application無法在com.mgb.textvote.services.ReadIncomingSMS.onStartCommand(ReadIncomingSMS.java:47)處轉(zhuǎn)換為androidx.fragment.app.FragmentActivity如果應(yīng)用程序上下文無法轉(zhuǎn)換為fragmentActivity,那么我們?nèi)绾问褂梅?wù)內(nèi)的房間數(shù)據(jù)庫或者在后臺進程中查詢的最佳方法是什么?
查看完整描述

2 回答

?
BIG陽

TA貢獻1859條經(jīng)驗 獲得超6個贊

您正在嘗試訪問 Service 中的 FragmentActivity ViewModel。

為服務(wù)創(chuàng)建單獨的 ViewModel,它將起作用。


查看完整回答
反對 回復(fù) 2023-07-13
?
交互式愛情

TA貢獻1712條經(jīng)驗 獲得超3個贊

我沒有訪問 Service 中的 FragmentActivity ViewModel,而是像這樣更改代碼。


到我的 MainActivity.java


public class MainActivity extends AppCompatActivity {

    public static RoomViewModel model;

    @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);


        model = ViewModelProviders.of(this).get(RoomViewModel.class);

     }

}

然后在我的服務(wù)中


代替


model = ViewModelProviders.of((FragmentActivity) getApplicationContext()).get(RoomViewModel.class);

我把它改為


model = MainActivity.model;

我不知道這種方法是否是一個好的做法,但它似乎對我有用。


查看完整回答
反對 回復(fù) 2023-07-13
  • 2 回答
  • 0 關(guān)注
  • 143 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號