如何在接聽電話時說出來電者姓名。 https://groups.google.com/forum/#!topic/tasker/V_z1YJ6lBGQ http://www.tutorialspoint.com/android/android_text_to_speech.htm 有一些提到,但我已經做到了,我已經收到來電者姓名,現在我想將該文本轉換爲接收方法中的語音。 我確實使用了事件處理程序,並將該名稱發送給其他活動,但它在應用程序關閉時沒有說出名稱。Android說來電者姓名
-1
A
回答
0
Bundle bundle = intent.getExtras();
if(null == bundle)
return;
String state = bundle.getString(TelephonyManager.EXTRA_STATE);
if(incoming_flag==true){
if(state.equalsIgnoreCase(TelephonyManager.EXTRA_STATE_RINGING))
{
////////testing ends
String phonenumber = bundle.getString(TelephonyManager.EXTRA_INCOMING_NUMBER);
// String personname=bundle.getString(TelephonyManager.)
Log.i("IncomingCallReceiver","Incomng Number: " + phonenumber);
ContentResolver con =null;
//testing name
Uri uri = Uri.withAppendedPath(PhoneLookup.CONTENT_FILTER_URI, Uri.encode(phonenumber));
Cursor cursor = context.getContentResolver().query(uri, new String[]{PhoneLookup.DISPLAY_NAME},null,null,null);
if (cursor.moveToFirst())
{
name = cursor.getString(cursor.getColumnIndex(PhoneLookup.DISPLAY_NAME));
}
你將不得不生成廣播爲它來檢測來電使用onRecieve參數的時意圖獲得命名上面的示例代碼顯示了這樣做的話,你就必須寫一個服務,將從廣播開始呼叫者姓名使用文本播放語音方法
0
首先檢測聯繫電話,只要任何新的呼叫到達時,該線程將幫助你這樣做
Retrieve incoming call's phone number in Android
而且一旦你有檢測T他聯繫來電號碼,比您可以將該聯繫人號碼與設備上保存的所有聯繫人列表進行比較。
使用下面的方法獲取所有聯繫人姓名和電話號碼從您的設備
ContentResolver cr = getContentResolver();
Cursor cur = cr.query(ContactsContract.Contacts.CONTENT_URI,
null, null, null, null);
if (cur.getCount() > 0) {
while (cur.moveToNext()) {
String id = cur.getString(cur.getColumnIndex(ContactsContract.Contacts._ID));
String name = cur.getString(cur.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME));
if (Integer.parseInt(cur.getString(
cur.getColumnIndex(ContactsContract.Contacts.HAS_PHONE_NUMBER))) > 0) {
Cursor pCur = cr.query(
ContactsContract.CommonDataKinds.Phone.CONTENT_URI,
null,
ContactsContract.CommonDataKinds.Phone.CONTACT_ID +" = ?",
new String[]{id}, null);
while (pCur.moveToNext()) {
String phoneNo = pCur.getString(pCur.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
Toast.makeText(NativeContentProvider.this, "Name: " + name + ", Phone No: " + phoneNo, Toast.LENGTH_SHORT).show();
}
pCur.close();
}
}
}
如需詳細瞭解這一點,你可以檢查此方針
http://saigeethamn.blogspot.in/2011/05/contacts-api-20-and-above-android.html
相關問題
- 1. PlayFramework Logback打印來電者姓名
- 2. 如何從Android的電話號碼獲取來電者的姓名
- 3. 在JS功能中獲取來電者姓名
- 4. 在結束通話之前獲取來電者的姓名
- 5. 訪問來電者姓名沒有READ_CONTACTS權限 - 安卓
- 6. 如何使用twilio短信回覆獲取來電者姓名?
- 7. Android Xml文件:完整手機屏幕寬度(顯示來電者姓名)
- 8. git log作者姓名來自htpasswd
- 9. 關於提及未接來電的姓名的Android sqllite例外
- 10. Symfony呈現作者姓名
- 11. 獲取所有者姓名
- 12. 更改作者姓名
- 13. :姓名,姓氏:姓名
- 14. 使用帶發送者姓名的oracle發送電子郵件
- 15. 名姓到姓氏,名字在Excel電子表格
- 16. Ruby繼承獲取來電者類名
- 17. Android的編輯來電者的名字在撥號應用
- 18. 作者姓名消歧數據
- 19. 如何修復git log作者姓名?
- 20. 搜索不可靠的作者姓名
- 21. 如何讓nntplib作者姓名可讀?
- 22. 顯示作者姓名(WordPress的)
- 23. laravel 5作者姓名顯示書籍
- 24. WorsPress orederby特定作者姓名
- 25. Randomise Latex中的作者姓名
- 26. 在TortoiseSVN中更改作者姓名
- 27. Natbib不顯示完整作者姓名
- 28. 獲取參與者的姓名MSConversation
- 29. Dcmj2pnm tojpeg患者姓名缺失
- 30. Android - 使用AccountManager獲取UserData /手機擁有者的姓名
得到接收器的數量和進行比較在電話聯繫 – appukrb
@appubala我已經做了,現在需要說,即使應用程序關閉的名稱, – user2409402
電話接收器具有更高的優先級,當電話來了所有任務去背景,但有可能性您可以在響鈴時將來電鈴聲更改爲來電者姓名。 – appukrb