1
私はCallLog
を使用しています。私の変数の1つをダイヤルした連絡先のCACHED_NAME
に設定しています。これは正常に動作しますが、ユーザが連絡先にない番号をダイヤルした場合は、代わりに変数をNUMBER
の値に設定します。私はこれを行うとき何らかの理由で、 "1"や "7"のような1桁の整数として結果を得ます。ここに私のコードは次のとおりです。コール番号に数字が正しく入力されていません
Uri allCalls = Uri.parse("content://call_log/calls");
String sortOrder = CallLog.Calls.DATE;
Cursor c = managedQuery(allCalls, null, null, null, sortOrder);
while (c.moveToNext()) {
int callType = Integer.parseInt(c.getString(c
.getColumnIndex(CallLog.Calls.TYPE)));
long date = c.getLong(c.getColumnIndex(Calls.DATE));
String col1;
if (callType == CallLog.Calls.OUTGOING_TYPE
&& date > resetDate) {
col1 = c.getString(c.getColumnIndex(Calls.CACHED_NAME));
// if there is no cached name, get the number
if (col1 == null) {
col1 = String.valueOf(c.getLong(c
.getColumnIndex(Calls.NUMBER)));
}
は私が右NUMBER
の値は、ユーザがダイヤルした電話番号でなければならないことを言っにいますか?最後の行を除いてすべてが正しいことを知っています。私はcol1
を数値に設定しています。何か案は?
何ルーキーミスを!とにかく何か別のことをやってしまいましたが、答えに感謝します。 –