Aucune activité trouvée pour gérer l'erreur d'intention? Comment cela va se résoudre.
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;
}
});
Ajoutez ce qui suit à votre manifeste:
<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>
dans mon cas, j'étais sûr que l'action est correcte, mais je passais une mauvaise URL, j'ai passé le lien du site Web sans http: // au début, donc cela a causé le même problème, voici mon manifeste (en partie )
<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>
lorsque je code ce qui suit, la même exception est levée au moment de l'exécution:
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);
Généralement, pour éviter ce genre d'exceptions, vous devrez entourer votre code en essayant d'attraper comme ceci
try{
// your intent here
} catch (ActivityNotFoundException e) {
// show message to user
}
Intent intention = new Intent (String) est défini pour la tâche de paramètre, tandis que vous transmettez le nom du composant de paramètre à ceci, utilisez plutôt:
Intent i = new Intent(Settings.this, com.scytec.datamobile.vd.gui.Android.AppPreferenceActivity.class);
startActivity(i);
Dans cette instruction, remplacez ActivityName par le nom de la classe d'activité, ce code réside dans.