Geen activiteit gevonden om de intentieve fout aan te pakken? Hoe het zal oplossen.
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;
}
});
Antwoord 1, Autoriteit 100%
Voeg het onderstaande toe aan uw manifest:
<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>
Antwoord 2, Autoriteit 38%
In mijn geval was ik er zeker van dat de actie correct is, maar ik passeerde een verkeerde URL, ik passeerde de link met de website zonder de http: // in het begin, dus het veroorzaakte hetzelfde probleem, hier is mijn manifest ( een deel ervan)
<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>
wanneer ik het volgende codeer, wordt dezelfde uitzondering gegenereerd tijdens runtime:
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);
Antwoord 3, autoriteit 27%
Om dit soort uitzonderingen te voorkomen, moet je je code meestal omringen door te proberen en te vangen op deze manier
try{
// your intent here
} catch (ActivityNotFoundException e) {
// show message to user
}
Antwoord 4, autoriteit 6%
if (intent.resolveActivity(getPackageManager()) == null) {
Utils.showToast(activity, no_app_available_to_complete_this_task);
} else {
startActivityForResult(intent, 1);
}
Antwoord 5, autoriteit 2%
Intent intent=new Intent(String) is gedefinieerd voor parametertaak, terwijl u parameter componentnaam hierin doorgeeft, gebruik in plaats daarvan:
Intent i = new Intent(Settings.this, com.scytec.datamobile.vd.gui.android.AppPreferenceActivity.class);
startActivity(i);
In deze instructie vervangt u ActivityName door de naam van de activiteitsklasse, deze code bevindt zich in.