0

J'ai mis deux filtres d'intention en une seule activité. `Android vérifier l'action dans l'intention et faire de la logique

 <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 

      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
     <intent-filter> 
      <action android:name="android.intent.action.VIEW" /> 
      <data android:scheme="https://dou.ua/lenta/" /> 
      <category android:name="android.intent.category.DEFAULT" /> 
     </intent-filter> ` 

et contrôleront essayer de vérifier l'action dans la création de l'activité.

protected void onCreate(@Nullable Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main_layout); 
    ButterKnife.bind(this); 
    mToolbar = (Toolbar) findViewById(R.id.toolbar); 
    setSupportActionBar(mToolbar); 

    Intent intent = getIntent(); 
    String action = intent.getAction(); 
    if (action.equals("android.intent.action.VIEW ")) { 

    } else { 
     getSupportFragmentManager().addOnBackStackChangedListener(this); 
     isDisplayingHomeBtn(); 
     getSupportFragmentManager().beginTransaction() 
      .replace(R.id.container, new FeedFragment()) 
      .commit(); 
    } 
    } 

mais j'ai un NullPointerException

processus: com.bogdan_kolomiets_1996.bogdan.dou_feed, PID: 5237 java.lang.RuntimeException: Impossible de démarrer l'activité ComposantInfo {com.bogdan_kolomiets_1996 .bogdan.dou_feed/com.bogdan_kolomiets_1996.bogdan.dou_feed.ui.MainActivity}: java.lang.NullPointerException: Tentative d'invocation de la méthode virtuelle 'java.lang.Object android.os.Bundle.get (java.lang.String) 'sur un nul l de référence de l'objet à android.app.ActivityThread.performLaunchActivity (ActivityThread.java:2622) à android.app.ActivityThread.handleLaunchActivity (ActivityThread.java:2692) à android.app.ActivityThread.access 800 $ (ActivityThread .java: 179) à android.app.ActivityThread $ H.handleMessage (ActivityThread.java:1540) à android.os.Handler.dispatchMessage (Handler.java:111) à android.os.Looper.loop (Looper.java:194) at android.app.ActivityThread.main (ActivityThread.java:5795) à java.lang.reflect.Method.invoke (méthode native) à java.lang.reflect.Method.invoke (Method.java:372) à com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:1005) à com.android.internal.os.ZygoteInit.main (ZygoteInit.java:800) à de.robv.android.xposed.XposedBridge.main (XposedBridge.java:114) Causé par: java.lang.NullPointerException: Tentative d'invocation de la méthode virtuelle 'java.lang.Object android.os.Bundle.get (java.lang.String)' sur un référence d'objet null at com.bogdan_kolomiets _1996.bogdan.dou_feed.ui.MainActivity.onCreate (MainActivity.java:38) à android.app.Activity.performCreate (Activity.java:6071) à android.app.Instrumentation.callActivityOnCreate (Instrumentation.java:1123) à android.app.ActivityThread.performLaunchActivity (ActivityThread.java:2575) à android.app.ActivityThread.handleLaunchActivity (ActivityThread.java:2692) à android.app.ActivityThread.access 800 $ (ActivityThread.java: 179) at android.app.ActivityThread $ H.handleMessage (ActivityThread.java:1540) à android.os.Handler.dispatchMessage (Handler.java:111) à android.os.Looper.loop (Looper.java:194) à android.app.ActivityThread.main (ActivityThread.java:5795) à java .lang.reflect.Method.invoke (Méthode native) à java.lang.reflect.Method.invoke (Méthode.java: 372)

Répondre

0

Etes-vous sûr que votre activité placée ici 'com.bogdan_kolomiets_1996.bogdan.dou_feed/com.bogdan_kolomiets_1996.bogdan.dou_feed.ui.MainActivity'?

Cette erreur s'est produite lorsque vous essayez de démarrer votre activité, et non lorsque vous essayez d'obtenir une action.

+0

OMG. tu as raison. Cela a bien fonctionné, mais quand j'ajoute second intentfilter au lieu d'activité changé. Merci)) –

+0

Vous êtes les bienvenus =) S'il vous plaît, n'oubliez pas de vérifier ce message comme une réponse) –