2011-06-07 24 views
0

labuser我在我的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是而不是我的开发机器上的a/c,这种情况只发生在匹配的smse上。我无法弄清楚这个来源。

感谢 人士Himanshu

回答

0

给它READ_CONTACTS许可固定它。我的应用程序,阅读短信没有适当的权限,可能会搞砸默认的是奇怪的。