2012-04-30 17 views
0

私のアプリケーション(Android 2.3.3で起動)は、Android Ice Cream OS 4.0.3もサポートしています。 すべて正常に動作しますが、GROUP BYが使用され、クラッシュを起こしたことに関するSQL文が返されると、Content Resolverのクエリーがラウンドカッコで奇妙なものになります。それはAndroid APIレベル10では見られません。 これは私の質問です:以前のバージョンまたはAPI(私の場合は10)をIce Creamでも使用することは可能ですか? もちろん、私の問題に対するより良い解決策があれば、それは歓迎されます。Android:コール専用バージョンAPI

ありがとうございます。

コード(簡易版)は、以下のいずれか:

ContentResolver contentResolver = context.getContentResolver(); 
Uri uri = Uri.withAppendedPath(ContactsContract.Data.CONTENT_URI, ""); 
StringBuilder where = new StringBuilder(); 
allContactCursor = contentResolver.query(uri, 
PROJECTION_CONTACT, 
"1) GROUP BY ("+ RawContacts.CONTACT_ID, 
null, 
ContactsContract.Contacts.DISPLAY_NAME + " COLLATE NOCASE"); 

問題ではなく、これをSqliteをクエリをコンパイルしながら、アイスクリームサンドイッチは、注射によってグループを許可しないことがあり、作品ジンジャーブレッドで2.3.3。 GROUP BYを使用しないと、連絡先は、連絡先に含まれる電話番号の数によって複製されます。それはアンドロイド2.3.3 APIを使用した場合でも、アプリケーションの罰金を実行する必要がありますので

おかげ

+0

本当にそうではありません。デバイスには1つのバージョンがあります。問題については、コードとクラッシュログを表示すると役立ちます。 – MByD

答えて

0

アンドロイド4 +は、下位互換性があります。 4.0固有のAPI機能を使用している場合を除きます。あなたの最善の策は、アプリケーションを2.3.3にビルドしてICS 4.0でテストすることです。これが役に立ちました。

+0

こんにちは私は、Androidが古いAPIレベルに対してコンパイルされたアプリケーションがより新しいもので実行されるとき、互換性フラグを設定することを知っています。私はすでにあなたが提案したことをやっているし、私が説明した問題が見られる。 – MadBlack

関連する問題