2012-02-28 29 views
5

Trường hợp ngoại lệ được ném vào đoạn mã sau:Không Hoạt động phát hiện để xử lý Ý định {hành động = android.speech.action.RECOGNIZE_SPEECH (có tính năng bổ sung)}

Intent intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH); 
intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL, 
     RecognizerIntent.LANGUAGE_MODEL_FREE_FORM); 
intent.putExtra(RecognizerIntent.EXTRA_PROMPT, "Speech recognition demo"); 
startActivityForResult(intent, VOICE_RECOGNITION_REQUEST_CODE);. 

Tôi đã googled và thấy rằng đó là vì the voice search app từ google bị thiếu trên thiết bị tôi đang sử dụng. và tôi có thể giải quyết vấn đề bằng cách cài đặt ứng dụng theo cách thủ công, nhưng làm cách nào tôi có thể cài đặt chương trình apk, như nhập một số thư viện hoặc khác ~
Cảm ơn rất nhiều.

Trả lời

5

mở liên kết của ứng dụng (mà bạn muốn sử dụng) theo quan điểm của web

như

try{ 
Intent intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH); 
intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL, 
     RecognizerIntent.LANGUAGE_MODEL_FREE_FORM); 
intent.putExtra(RecognizerIntent.EXTRA_PROMPT, "Speech recognition demo"); 
startActivityForResult(intent, VOICE_RECOGNITION_REQUEST_CODE);. 
} 
catch(ActivityNotFoundException e) 
{ 
Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("https://market.android.com/details?id=APP_PACKAGE_NAME")); 
startActivity(browserIntent); 

} 

thay APP_PACKAGE_NAME trong https://market.android.com/details?id=APP_PACKAGE_NAME với rcognition giọng nói tên gói VI ỨNG DỤNG trên thị trường

+0

cảm ơn vipin trả lời của bạn, nhưng tôi có thể thêm mô-đun giọng nói như một phần của gói ứng dụng của mình không. – Bolton

+0

vâng, bạn có thể chắc chắn nhưng bạn phải ghi lại toàn bộ mã này cho riêng mình – vipin

+0

@vipin Khi bạn nói APP_PACKAGE_NAME, bạn có biết mã mặc định nào không? Tôi có nghĩa là nó hoạt động tốt trên các thiết bị khác của tôi, nhưng đối với Sony Experia Mini, nhận dạng giọng nói không hoạt động. Vì vậy, tôi muốn hướng người dùng đến nhận dạng giọng nói mặc định từ Google. –

1

giải pháp Vipin của công trinh. Cá nhân tôi sử dụng điều này như APP_PACKAGE_NAME tôi: com.google.android.googlequicksearchbox

Vì vậy, để tóm tắt lại các giải pháp đầy đủ, bạn sẽ làm như sau: (tôi sửa đổi nó một chút để lần đầu tiên thử chương trình đầu tiên và sau đó dự phòng trên https:// nếu thất bại.)

try { 
    Intent intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH); 
    intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL, 
     RecognizerIntent.LANGUAGE_MODEL_FREE_FORM); 
    intent.putExtra(RecognizerIntent.EXTRA_PROMPT, "Speech recognition demo"); 
    startActivityForResult(intent, VOICE_RECOGNITION_REQUEST_CODE);. 
} catch(ActivityNotFoundException e) { 
    String appPackageName = "com.google.android.googlequicksearchbox"; 
    try { 
     startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("market://details?id=" + appPackageName))); 
    } catch (android.content.ActivityNotFoundException anfe) { 
     startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("https://play.google.com/store/apps/details?id=" + appPackageName))); 
    } 
} 
Các vấn đề liên quan