gpt4 book ai didi

java - Android 4.3 中我的 ContentProvider 有什么问题?

转载 作者:行者123 更新时间:2023-12-01 04:11:49 25 4
gpt4 key购买 nike

我的应用可以在 4.3 之前的任何 Android 版本上正常运行。我的意思是,当我在 edWord(EditText 字段)中输入一个单词时, ListView 中将出现一个拼写相似的单词列表。

但在Android 4.3中,它总是返回null,声称app_ContentProvider找不到支持的uri

我使用以下代码来显示单词列表:

public void showWordlist() {    

edWord.setEnabled(true);
String word = edWord.getText().toString();
Uri uri = Uri.parse("content://doyle.app_name.app_ContentProvider/dict/" + mDBFile.fileName + "/list/" + word);
edWord.requestFocus();

try
{
Cursor result = getContentResolver().query(uri,null,null,null,null);
Log.i(MAIN_TAG, "Found word = " + result);
//I think the problem lies somewhere here because
//the 'result' is always 'null' (see the above log.i)

if (result != null)
{
int countRow=result.getCount();
Log.i(MAIN_TAG, "countRow = " + countRow);
mLSTCurrentWord.clear();
//mLSTCurrentContent.clear();
mLSTCurrentWordId.clear();
mAdapter.clear();
if (countRow >= 1)
{
int indexWordColumn = result.getColumnIndex("word");
int indexIdColumn = result.getColumnIndex("id");
result.moveToFirst();
String strWord;
int intId;
int i = 0;
do
{
strWord = Utility.decodeContent(result.getString(indexWordColumn));
intId = result.getInt(indexIdColumn);
mLSTCurrentWord.add(i,strWord);
mLSTCurrentWordId.add(i,intId);
//mLSTCurrentContent.add(i,strContent);
mAdapter.add(strWord);
i++;
} while (result.moveToNext());
}

result.close();
}

lstWord.setAdapter(mAdapter);
}
catch (Exception ex)
{
Log.e(MAIN_TAG, "Error = " + ex.toString());
}
edWord.setEnabled(true);
}

这是我的 app_ContentProvider .

我不知道 Android 4.3 中是否有任何更改导致我的应用无法正常运行。

关于我上面的代码行,你能告诉我问题可能是什么吗?非常感谢。

最佳答案

尝试在 list 中为内容提供程序设置属性 android:exported="true"。看来这个属性的默认值在android 4.3中已经改变了

关于java - Android 4.3 中我的 ContentProvider 有什么问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19855648/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com