语音到文本:找不到处理意图的活动

时间:2015-02-09 22:13:20

标签: android android-intent

我正在尝试使用谷歌搜索到文本引擎,但这是不可能的,并得到错误:

android.content.ActivityNotFoundException:找不到处理Intent的活动{act = android.speech.action.RECOGNIZE_SPEECH(有附加内容)

你能帮助我吗?

这是我的MainActivity.java代码

public class MainActivity extends Activity {
private static final int REQUEST_CODE = 1234;
Button Start;
TextView Speech;
Dialog match_text_dialog;
ListView textlist;
ArrayList<String> matches_text;
   @Override
   protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_main);
      Start = (Button)findViewById(R.id.start_reg) 
      Speech = (TextView)findViewById(R.id.speech);

      Start.setOnClickListener(new OnClickListener() {
      @Override
      public void onClick(View v) {
         if(isConnected()){
         Intent intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
         intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL,
         RecognizerIntent.LANGUAGE_MODEL_FREE_FORM);
         startActivityForResult(intent, REQUEST_CODE);  
                 }
        else{   
            Toast.makeText(getApplicationContext(), "Plese Connect to Internet", Toast.LENGTH_LONG).show();
      }}
    });
 }
    public  boolean isConnected()
    {
       ConnectivityManager cm = (ConnectivityManager)    getSystemService(Context.CONNECTIVITY_SERVICE);
      NetworkInfo net = cm.getActiveNetworkInfo();
     if (net!=null && net.isAvailable() && net.isConnected()) {
     return true;
     } else {
      return false;
     }
     }
    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
     if (requestCode == REQUEST_CODE && resultCode == RESULT_OK) {
     match_text_dialog = new Dialog(MainActivity.this);
     match_text_dialog.setContentView(R.layout.dialog_matches_frag);
     match_text_dialog.setTitle("Select Matching Text");
     textlist = (ListView)match_text_dialog.findViewById(R.id.list);
     matches_text = data
     .getStringArrayListExtra(RecognizerIntent.EXTRA_RESULTS);
     ArrayAdapter<String> adapter =    new ArrayAdapter<String>(this,
       android.R.layout.simple_list_item_1, matches_text);
     textlist.setAdapter(adapter);
     textlist.setOnItemClickListener(new AdapterView.OnItemClickListener() {
     @Override
     public void onItemClick(AdapterView<?> parent, View view,
                         int position, long id) {
     Speech.setText("You have said " +matches_text.get(position));
     match_text_dialog.hide();
     }
  });
     match_text_dialog.show();
     }
     super.onActivityResult(requestCode, resultCode, data);
    }
}

这是AndroidManifest.xml代码

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.learn2crack.speech"
android:versionCode="1"
android:versionName="1.0" >

<uses-sdk
    android:minSdkVersion="15"
    android:targetSdkVersion="19" />

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

<application
    android:allowBackup="true"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme" >
    <activity
        android:name="com.learn2crack.speech.MainActivity"
        android:label="@string/app_name" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
</application>

0 个答案:

没有答案