#android
#Android
Вопрос:
Я установил следующий код на свой телефон Android 2.2, и имя отправителя отображается как labuser для некоторых сообщений, когда на самом деле это что-то другое :-
public class SMSReaderActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
ListView myListView = (ListView) findViewById(R.id.myListView);
final ArrayList<String> smses = new ArrayList<String>();
final ArrayAdapter<String> aa = new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1, smses);
myListView.setAdapter(aa);
Context context = getApplicationContext();
Cursor cursor = context.getContentResolver().query(
Uri.parse("content://sms/inbox"),
new String[] { "address", "person", "date", "body" }, null,
null, "date desc");
cursor.moveToFirst();
int count = cursor.getCount();
for (int j = 0; j < count; j ) {
String msg = cursor.getString(0) ", " cursor.getString(1)
", " cursor.getLong(2) ", " cursor.getString(3);
Log.w("SMS", "Read SMS:" msg);
if (cursor.getString(3).indexOf("rbs") >= 0) {
smses.add(msg);
Log.w("SMS", "Added");
}
cursor.moveToNext();
}
cursor.close();
aa.notifyDataSetChanged();
}
labuser не является кондиционером на моей машине разработки, и это происходит только с соответствующими SMS-сообщениями. Я не могу определить источник этого.
Спасибо Himanshu
Ответ №1:
Предоставление ему разрешения READ_CONTACTS исправило это. То, что мое приложение, считывающее SMS без соответствующих разрешений, могло испортить стандартное, было странным.