Permission Abfrage funktioniert nicht mehr

  • Antworten:34
  • OffenNicht stickyBentwortet
  • Forum-Beiträge: 44

18.01.2017 21:24:42 via Website

und ich weiss halt nicht, wie ich das umsetzen kann. Vielleicht kannst du mir helfen. Mit folgendem funktioniert es auch nicht:

else if (id == R.id.nav_map) {
        Intent intent = new Intent(MainActivity.this, Map.class);
        startActivity(intent);
        finish();
  • Forum-Beiträge: 2.209

18.01.2017 21:37:51 via Website

Um die ganzen Fragen beantworten zu können , müsste man deinen gesamten Quellcode haben,
würde aber den Rahmen hier sprengen.

Du bringst Fragmente und Activities durcheinander.
Da solltest du dich erst mal in die Unterscheide einlesen - Entweder Fragmente mit einem Pager, oder mehrere Activities

Dann solltest du mal deine Map in einen Activity mit einem Layout bringen und
beide Activies einzeln Launchen ( zum Test)
Erst dann , wenn beide gehen , machst du das ZusammenSpiel

Oben machst du ein finish() , nachdem du ein Menu gedrückt hast.
Warum denn das ??

Liebe Grüße - Stefan
[ App - Entwicklung ]

  • Forum-Beiträge: 44

18.01.2017 21:46:35 via Website

Und es sind beide einzelnen Activitys aber wie kann ich zwischen den Activitys über den Navigation Drawer switchen?

  • Forum-Beiträge: 2.209

18.01.2017 22:16:32 via Website

Und es sind beide einzelnen Activitys aber wie kann ich zwischen den Activitys über den Navigation Drawer switchen?

Da gibt es mehrere Möglichkeiten, frag mal Tante google,

Aber dein Ansatz war oben nicht falsch, lass dass finish() im Drawer weg und mach nur auf die Maps Activity ein finish

Liebe Grüße - Stefan
[ App - Entwicklung ]

  • Forum-Beiträge: 44

18.01.2017 22:24:16 via Website

Hallo Stefan,

wenn ich Google frage, wird in jedem Forum gesagt, man soll Fragments verwenden. Ich möchte aber sehr gerne Activities verwenden. Wo soll ich das finish hinschreiben?

  • Forum-Beiträge: 44

19.01.2017 10:48:12 via Website

Hallo Zusammen,

ich habe mich nun entschieden es doch mit Fragments zu machen.

  • Forum-Beiträge: 44

19.01.2017 20:29:18 via Website

Hallo Zusammen,

ich habe nun ein Map Fragment erstellt und auch schon versuch hier die Permission einzufügen, leider wird dies nicht dargestellt.
Mein Code für das Fragment sieht wie folgt aus:

package com.example.hartl.loginapp;

import android.content.pm.PackageManager;
import android.os.Bundle;
import android.support.v4.app.ActivityCompat;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;

import com.google.android.gms.maps.GoogleMap;
import com.google.android.gms.maps.MapView;
import com.google.android.gms.maps.MapsInitializer;
import com.google.android.gms.maps.OnMapReadyCallback;

/**
* A simple {@link Fragment} subclass.
*/
public class testFragment extends Fragment {

MapView mMapView;
private GoogleMap googleMap;

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    View rootView = inflater.inflate(R.layout.fragment_test, container, false);

    mMapView = (MapView) rootView.findViewById(R.id.mapView);
    mMapView.onCreate(savedInstanceState);

    mMapView.onResume(); // needed to get the map to display immediately

    try {
        MapsInitializer.initialize(getActivity().getApplicationContext());
    } catch (Exception e) {
        e.printStackTrace();
    }

    mMapView.getMapAsync(new OnMapReadyCallback() {
        @SuppressWarnings("MissingPermission")
        @Override
        public void onMapReady(GoogleMap mMap) {
            googleMap = mMap;

            if (mMap != null) {

                if (ActivityCompat.checkSelfPermission(getActivity().getApplicationContext()
                        , android.Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(getActivity().getApplicationContext()
                        , android.Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
                    // TODO: Consider calling
                    //    ActivityCompat#requestPermissions
                    // here to request the missing permissions, and then overriding
                    //   public void onRequestPermissionsResult(int requestCode, String[] permissions,
                    //                                          int[] grantResults)
                    // to handle the case where the user grants the permission. See the documentation
                    // for ActivityCompat#requestPermiss<<ions for more details.
                    return;
                }
                mMap.setMyLocationEnabled(true);
                mMap.getUiSettings().setMyLocationButtonEnabled(true);


            }
        }


    });
    return rootView;
}

}

WEnn man nun die Permissions nicht händisch eingibt, wird die Map einfach ohne den Standort dargestellt.
Hat jemand eine idee, an was es liegen könnte, dass die Abfrage nicht funktioniert?

  • Forum-Beiträge: 2.209

19.01.2017 21:30:45 via Website

Hallo Dominik,

nimm es mir bitte nicht übel , aber mit den halben Information , die du hier gibts kann man nichts anfangen .
Das hatten wir schon einmal weiter oben.

Leider sind deine Erfahrungen sehr rudimentär, weil du Dinge zusammen mischst , die NICHT gehen können.

Die Permission hat überhaupt nichts da zu suchen ...
Die Permissions gehören APP-PACKAGE bezogen vergeben , nicht zu einer Map in einem Fragment.

Oben habe ich dir bereits geschrieben , dass die Permissions in eine Activiy gehören - einen Thread weiter
schreibst du - dass du es jetzt in Fragmenten implementierst.
Ich habe bewusst nichts mehr darauf geschrieben , weil ich innerlich nur mir dem Kopf geschüttelt habe,
dass du das Gegenteil von dem tust , was man dir bereits schon gesagt hat :-)

Und Voila , man brauchte nur die Uhr zu stellen !!

Möchtest du nun Hilfe , oder nicht , - dann brauchst du auch nicht unser Zeit in Anspruch zu nehmen.

Nochmal : Nimm eine Activity, setzte sie als MAIN / LAUNCHER in der Manifest, setzte deine Permissions
da in die onCreate rein und wenn du dann unbedingt Fragmente haben willst, dann bau dir einen Pager und
neste sie da rein .

Ansonsten kann ich dir wärmstens ans Herz legen, dich mal mit den Grundlagen auseinander zu setzen.
Das was du hier programmierst ist kein Entwickeln , sondern Try & Hope

— geändert am 19.01.2017 21:34:36

Liebe Grüße - Stefan
[ App - Entwicklung ]

  • Forum-Beiträge: 44

20.01.2017 08:45:02 via Website

Hallo Stefan,

ich mache das wirklich nicht mit Absicht. :)
Ich habe es in das Fragment gesetzt, weil ich dies in einem Artikel so gesehen habe.
Nun nocheinmal zu deinem Tipp: Ich füge also die Permission abfrage in die OnCreate, aber was meinst du mit einem Pager? Damit meinst du nicht, die Map als ein/in einem Fragment bereitzustellen oder?

  • Forum-Beiträge: 2.209

20.01.2017 09:47:06 via Website

Moin Dominik,

ich mache das wirklich nicht mit Absicht

mir ist es bewusst , dass du das nicht extra machst .
Was du allerdings extra machst, ist zu wenig lesen um sich ZUERST mit den Grundlagen auseinander zu setzen :-)

Lieber stellst du hier erst mal eine Frage, in der Hoffnung , da wird dir einer schon sagen , wo du zu lesen hast .
Und wenn das dann zu lange ist , dann habe ich so meine Befürchtung , dass du das nicht zu Ende liest :-)

Du baust nämlich eben ein Haus , ohne Plan natürlich , befestigst alle Fenster erst mal einen einem Holzgerüst,
und mauerst dann drumrum - SO kann das nix werden :-)

Wenn du UNBEDINGT Fragmente haben willst :

Zuerst eine stinknormale Activity mit Permission Abfrage und dann das hier z.b.
https://developer.android.com/training/animation/screen-slide.html

Nun nocheinmal zu deinem Tipp: Ich füge also die Permission abfrage in die OnCreate

WIE OFT DENN NOCH ????? grrrrrrrrrrrrrrrrrr

Oben habe ich geschrieben :

Nimm eine Activity, setzte sie als MAIN / LAUNCHER in der Manifest, setzte deine Permissions
da in die onCreate rein

Fazit : Bitte NICHT nach YouTube oder Artikeln programmieren :
Die sind teilweise veraltet und bringen dich kein Stück weiter, maximal den "aha" Effekt !!
Lesen, lernen, verstehen und dann erst umsetzen
.

P.S Und es verbietet dir im übrigen Keiner, hier mal den "Danke" -Knopf zu benutzen

— geändert am 20.01.2017 11:21:38

Liebe Grüße - Stefan
[ App - Entwicklung ]