0

嗯,我有一個非常具體和尷尬的問題,在我的android應用程序。這只是我的服務類中的onStartCommand方法,運行時應該創建一個電話狀態監聽器。所以每次用戶接聽電話時,我都希望將該號碼發送到Parse中的數據庫。問題是我認爲在內部類和解析方面存在衝突。沒有任何東西被推送到服務器。我對Android和Parse一起相當陌生,所以讓我知道我是否錯過了明顯的東西或者是否有解決方法。 感謝解析,內部類和電話聽衆

public int onStartCommand(Intent e, int flags, int startId) { 

    TelephonyManager TelephonyMgr = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE); 

    class TeleListener extends PhoneStateListener { 

     public void onCallStateChanged(int state, String incomingNumber) { 

      super.onCallStateChanged(state, incomingNumber); 

      Parse.initialize(ParseService.this, 
        "still a secret", 
        "no no no"); 
      PushService.setDefaultPushCallback(ParseService.this, 
        Main.class); 

      TelephonyManager TelephonyMgr = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE); 

      String userNumber = (String) TelephonyMgr.getLine1Number(); 
      switch (state) { 
      case TelephonyManager.CALL_STATE_OFFHOOK: 
       // OFFHOOK 

       ParseObject Users = new ParseObject("UserCalls"); 
       Users.put("CallsReceived", incomingNumber); 
       Users.put("UserNumber", userNumber); 
       Users.saveInBackground(); 

       Toast.makeText(getApplicationContext(), "Offhook", 
         Toast.LENGTH_SHORT).show(); 

      } 

     } 


    } 

    TelephonyMgr.listen(new TeleListener(), 
      PhoneStateListener.LISTEN_CALL_STATE); 

    Toast.makeText(this, "Service has Started", Toast.LENGTH_SHORT).show(); 
    return START_STICKY; 
} 
+0

添加一些日誌..用戶類也是字符串形式的「_User」。 – Fosco

回答

0

您使用的是用戶的字段(列)非法命名的自定義對象。列名稱只能包含字母數字或下劃線字符,並且必須以字母開頭。因此請嘗試如下:

ParseObject Users = new ParseObject("Users"); 
Users.put("User_ID", userNumber); 
String callMade = (String) incomingNumber; 
Users.put("Calls_Made", callMade); 
Users.saveInBackground(); 

您是否想要使用內置的「用戶」類也不清楚。如果你這樣做,你必須讓用戶註冊或登錄,然後才能將數據保存到對象。您還需要引用它:

ParseUser user = ParseUser.getCurrentUser(); 
+0

是的忘了提及。修復了一段時間,但問題仍然存在,並且「用戶」類沒有提及內置的用戶類。我已經縮小到incomingNumber變量。它直接來自內部類,但是當我刪除Users.put(...,incomingNumber)行時,一切都很完美。用用戶編號創建一個新的分析對象。 – FrenchFruits