26

インテントエラーを処理するアクティビティが見つかりませんか?それがどのように解決するか。Android:Intentエラーを処理するアクティビティが見つかりませんか?それが解決する方法

Intent i = new Intent(Settings.this, com.scytec.datamobile.vd.gui.android.AppPreferenceActivity.class); 
        startActivity(i); 

をこのステートメントでのクラスの名前でActivityNameを置き換える:

Preference customPref = (Preference) findPreference("DataEntryScreen"); 
    customPref 
     .setOnPreferenceClickListener(new OnPreferenceClickListener() { 
     public boolean onPreferenceClick(Preference preference) {     

     Intent i = new Intent("com.scytec.datamobile.vd.gui.android.AppPreferenceActivity"); 
       startActivity(i); 
        return true;           
       } 
      }); 
+0

あなたは、マニフェストのアクティビティに対してインテントフィルタ( '' com.scytec.datamobile.vd.gui.android.AppPreferenceActivity "')を登録しましたか? – Karthik

+1

いいえ。どのようにすることができますか?適切な意図を書いてください? マニフェストファイルをここに投稿するコード –

+0

(アクティビティに対応するエントリ - AppPreferenceActivity)と言っています。正しいコードでお手伝いすることができます。 – Karthik

答えて

40

がマニフェストに以下の追加:

<activity android:name=".AppPreferenceActivity" android:label="@string/app_name"> 
    <intent-filter> 
     <action android:name="com.scytec.datamobile.vd.gui.android.AppPreferenceActivity" /> 
     <category android:name="android.intent.category.DEFAULT" /> 
    </intent-filter> 
    </activity> 
+0

答えの横の目盛りをクリックしてください。 http:// stackoverflowを参照してください。com/faq#howtoask – Karthik

+0

スニペットのインデントがオフであることに注意してください。 - 'category'は 'action'と同じレベルです - コードは正しいですが、 'category'を子要素として入力する人のためです。 – Andy

+0

@Andyありがとう。そう、混乱を招くかもしれない。コードを編集しました。 – Karthik

1

テントの意図=新しいテント(文字列)は、あなたがこのにパラメータのコンポーネント名を渡しているのに対し、代わりに使用し、パラメータタスク用に定義されています活動は、このコードが内に存在

+0

コンストラクターIntent(new Preference.OnPreferenceClickListener(){}、Class )は定義されていません –

+0

最初のパラメーターはアクティビティーのインスタンスである必要があるため、ActivityNameの代わりにActivityNameの代わりに最初のアクティビティー名を使用してください。 – jeet

14

私の場合は、アクションが正しいと確信していましたが、間違ったURLを渡していました。http://のないWebサイトリンクを渡したので、同じ問題が発生しました。それ)

<activity 
     android:name=".MyBrowser" 
     android:label="MyBrowser Activity" > 
     <intent-filter> 
      <action android:name="android.intent.action.VIEW" /> 
      <action android:name="com.dsociety.activities.MyBrowser" /> 

      <category android:name="android.intent.category.DEFAULT" /> 

      <data android:scheme="http" /> 
     </intent-filter> 
    </activity> 

私は、次をコーディングする場合、同じ例外が実行時にスローされます。

Intent intent = new Intent(); 
intent.setAction("com.dsociety.activities.MyBrowser"); 
intent.setData(Uri.parse("www.google.com")); // should be http://www.google.com 
startActivity(intent); 
5

一般例外のこの種を避けるために、あなたがしようとするとキャッチして、コードを囲む必要があります。このように

try{ 

// your intent here 

} catch (ActivityNotFoundException e) { 
// show message to user 
} 
関連する問題