26

Hiçbir işlem bulundu Intent hatası? Nasıl çözülür?Android: Intent hatası işlemek için herhangi bir aktivite bulunamadı? Nasıl olacak çözecek

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

Bu açıklamada ait Sınıfı'nın İsme Göre ActivityName değiştirin:

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

, hedef etkinliğe yönelik niyet filtresini ('" com.scytec.datamobile.vd.gui.android.AppPreferenceActivity "') kaydettiniz mi? – Karthik

+1

Hayır. nasıl yapabilir? Lütfen uygun niyetinizi yazınız mı? Kod –

+0

demek, manifest dosyasını buraya gönderiyorum (aktivite ile ilgili girdiyle birlikte - AppPreferenceActivity). o zaman doğru kodla size yardımcı olabiliriz. – Karthik

cevap

40

Bildiriminize için aşağıdaki ekleyin:.

<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

Yanıtın yanındaki Onay işaretini tıklatarak. Http: // stackoverflow dosyasına bakın.com/faq # howtoask – Karthik

+0

Parçacık üzerindeki girintinin kapalı olduğunu unutmayın - 'kategori', 'eylem' ile aynı düzeydedir - kod doğrudur, ancak alt öğe olarak 'kategori' yazabilenler için .. – Andy

+0

@Andy Teşekkürler. Doğru, karışıklığa neden olabilir. Kodu düzenledim. – Karthik

1

Niyet niyet = new Niyet (String) bunun içine parametre componentName geçiyoruz oysa bunun yerine kullanmak, parametre görev için tanımlanır Aktivite, bu kod bulunur

+0

o constructor Intent (yeni Preference.OnPreferenceClickListener() {}, Class ) tanımlanmamış –

+0

ilk etkinlik adınızı bunun yerine ActivityName yerine kullanın, çünkü ilk parametre bir Activity örneğinin olması gerekir. – jeet

14

Benim durumumda, eylemin doğru olduğundan emin oldum, ama yanlış URL'yi geçiyordum, web sitesinin bağlantısını http: // 'da başından beri geçtim, bu yüzden aynı soruna neden oldu, işte benim manifest'im aşağıdaki kodu zaman)

<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> 

, aynı İstisna çalışma zamanında atılır:

Genellikle
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

istisnalar bu tür önlemek amacıyla, deneyin ve catch kodunuzu çevreleyen gerekecektir böyle

try{ 

// your intent here 

} catch (ActivityNotFoundException e) { 
// show message to user 
} 
İlgili konular