Permission Abfrage funktioniert nicht mehr

  • Antworten:34
  • Bentwortet
Dominik Hartl
  • Forum-Beiträge: 44

16.01.2017, 13:24:15 via Website

Hallo Zusammen,
ich habe kürzlich zu meiner App einen Login hinzugefügt.
Funktioniert alles Top, jedoch ist nun mein Problem, dass sich nun die zuerst ausführende Activity von MainActivity auf LoginActivity geändert hat. Die Permission Abfrage ist jedoch in der MainActivity, das führt dazu, dass jeder Aufruf meiner Map scheitert, da ich ja keine Berechtigungen habe. Hat jemand eine Idee, wie die Abfrage wieder funktioniert und ich nicht immer händisch die Berechtigungen gewähren muss?
Schöne Grüße
Dominik

Antworten
swa00
  • Forum-Beiträge: 3.704

16.01.2017, 13:25:19 via Website

Hallo Dominik,

welche Permission meinst du denn ??
Und wie hast du sie realisiert ?

— geändert am 16.01.2017, 13:25:45

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

Antworten
Dominik Hartl
  • Forum-Beiträge: 44

16.01.2017, 21:10:02 via Website

Hallo Stefan,

ich meine eine Standort Berechtigung, sodass sie auf einer Karte angezeigt werden kann.
Die Permission hat bevor ich den Login hinzugefügt habe super funktioniert, jedoch jetzt leider nicht mehr.
Also ich meine damit, dass sie nicht mehr automatisch erscheint, sondern ich die Berechtigungen manuell (in den settings) definieren muss.
Ich habe sie wie folgt realisiert:

public class MainActivity extends AppCompatActivity implements NavigationView.OnNavigationItemSelectedListener, OnMapReadyCallback{

private TextView txtName;
private TextView txtEmail;
private Button btnLogout;

private SQLiteHandler db;
private SessionManager session;
private String[] mPlanetTitles;
private DrawerLayout mDrawerLayout;
private ListView mDrawerList;
private GoogleMap googleMap;

SupportMapFragment sMapfragment;



@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    sMapfragment = SupportMapFragment.newInstance();




    Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
    setSupportActionBar(toolbar);


    DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
    ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(
            this, drawer, toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close);
    drawer.setDrawerListener(toggle);
    toggle.syncState();

    NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view);
    navigationView.setNavigationItemSelectedListener((NavigationView.OnNavigationItemSelectedListener) this);
    sMapfragment.getMapAsync((OnMapReadyCallback) this);

    if (ContextCompat.checkSelfPermission(this, android.Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
        if (ActivityCompat.shouldShowRequestPermissionRationale((Activity) this, android.Manifest.permission.ACCESS_FINE_LOCATION)) {
            AlertDialog.Builder alertBuilder = new AlertDialog.Builder(this);
            alertBuilder.setCancelable(false);
            alertBuilder.setTitle("Permission necessary");
            alertBuilder.setMessage("Fine Location is necessary");
            alertBuilder.setPositiveButton(android.R.string.yes, new DialogInterface.OnClickListener() {

                @TargetApi(Build.VERSION_CODES.JELLY_BEAN)
                public void onClick(DialogInterface dialog, int which) {
                    ActivityCompat.requestPermissions(MainActivity.this, new String[]{android.Manifest.permission.ACCESS_FINE_LOCATION}, 1234);
                }
            });

            AlertDialog alert = alertBuilder.create();
            alert.show();
        } else {
            ActivityCompat.requestPermissions(MainActivity.this, new String[]{android.Manifest.permission.ACCESS_FINE_LOCATION}, 1234);
        }

    }


    // SqLite database handler
    db = new SQLiteHandler(getApplicationContext());

    // session manager
    session = new SessionManager(getApplicationContext());

    if (!session.isLoggedIn()) {
        logoutUser();
    }

    // Fetching user details from sqlite




    // Displaying the user details on the screen

          // Logout button click event


}

/**
 * Logging out the user. Will set isLoggedIn flag to false in shared
 * preferences Clears the user data from sqlite users table
 * */
private void logoutUser() {
    session.setLogin(false);

    db.deleteUsers();

    // Launching the login activity
    Intent intent = new Intent(MainActivity.this, LoginActivity.class);
    startActivity(intent);
    finish();
}

@Override
public void onBackPressed() {
    DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
    if (drawer.isDrawerOpen(GravityCompat.START)) {
        drawer.closeDrawer(GravityCompat.START);
    } else {
        super.onBackPressed();
    }
}


@Override
public boolean onOptionsItemSelected(MenuItem item) {

    int id = item.getItemId();


    return super.onOptionsItemSelected(item);
}

@SuppressWarnings("StatementWithEmptyBody")
@Override
public boolean onNavigationItemSelected(MenuItem item) {
    android.support.v4.app.FragmentManager sFm = getSupportFragmentManager();
    int id = item.getItemId();

    if (sMapfragment.isAdded())
        sFm.beginTransaction().hide(sMapfragment).commit();
    if (id == R.id.nav_map) {
        if (!sMapfragment.isAdded())

            sFm.beginTransaction().add(R.id.penats, sMapfragment).commit();
        else
            sFm.beginTransaction().show(sMapfragment).commit();

    } else if (id == R.id.nav_locations) {

    } else if (id == R.id.nav_events) {

    } else if (id == R.id.nav_calendar) {

    } else if (id == R.id.nav_chat) {

    } else if (id == R.id.nav_ranking) {

    }
    DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
    drawer.closeDrawer(GravityCompat.START);
    return true;
}

@SuppressWarnings("MissingPermission")
@Override
   public void onMapReady(GoogleMap googleMap) {

    googleMap.setMyLocationEnabled(true);
}

}

Antworten
swa00
  • Forum-Beiträge: 3.704

17.01.2017, 03:11:10 via Website

Hallo Dominik,

den Fall hatte ich noch nicht , weil ich die Permission - Abfrage immer in die Activity setze,
die auch in der Manifest mit Intent MAIN/LAUNCHER angegeben wurde.

Ich meine mal mich ganz dunkel zu erinnern , dass das bei mir auch mal vorkam.

Setze mal die Permission um , es ist ja im Prinzip wurscht, ob sie in der LoginActivity abgefragt wird.
Sie ist eh erst mal im Vordergrund und das nur einmal

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

Antworten
Dominik Hartl
  • Forum-Beiträge: 44

17.01.2017, 09:03:31 via Website

Hallo Stefan,

habe nun folgendes in die LoginActivity gesetzt hilft leider nichts:

    if (ContextCompat.checkSelfPermission(this, android.Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
    if (ActivityCompat.shouldShowRequestPermissionRationale((Activity) this, android.Manifest.permission.ACCESS_FINE_LOCATION)) {
        AlertDialog.Builder alertBuilder = new AlertDialog.Builder(this);
        alertBuilder.setCancelable(false);
        alertBuilder.setTitle("Permission necessary");
        alertBuilder.setMessage("Fine Location is necessary");
        alertBuilder.setPositiveButton(android.R.string.yes, new DialogInterface.OnClickListener() {

            @TargetApi(Build.VERSION_CODES.JELLY_BEAN)
            public void onClick(DialogInterface dialog, int which) {
                ActivityCompat.requestPermissions(MainActivity.this, new String[]{android.Manifest.permission.ACCESS_FINE_LOCATION}, 1234);
            }
        });

        AlertDialog alert = alertBuilder.create();
        alert.show();
    } else {
        ActivityCompat.requestPermissions(MainActivity.this, new String[]{android.Manifest.permission.ACCESS_FINE_LOCATION}, 1234);
    }

}

Antworten
swa00
  • Forum-Beiträge: 3.704

17.01.2017, 09:09:41 via Website

Nimm mal die einfache Variante

    if (ContextCompat.checkSelfPermission(mActivity,Manifest.permission.READ_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) {
        if (ActivityCompat.shouldShowRequestPermissionRationale(mActivity,Manifest.permission.READ_EXTERNAL_STORAGE))
        {
        }
        else
        {
         ActivityCompat.requestPermissions(mActivity,new String[]{Manifest.permission.READ_EXTERNAL_STORAGE},23142);
        }
    }

— geändert am 17.01.2017, 09:10:20

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

Antworten
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

17.01.2017, 09:34:35 via App

Mir fehlt da irgendwie der Callback.
Wo springt er rein wenn Permission erlaubt??

LG Pascal //It's not a bug, it's a feature. :) ;)

Antworten
swa00
  • Forum-Beiträge: 3.704

17.01.2017, 10:09:32 via Website

Meinst du mich oder Ihn Pascal ?

Bei mir fehlt er , es ging mir erst mal darum , dass er überhaupt was angezeigt bekommt

Dann kommt das Nächste :-)

@Override
public void onRequestPermissionsResult(int requestCode,String permissions[], int[] grantResults)

— geändert am 17.01.2017, 10:11:14

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

Antworten
Dominik Hartl
  • Forum-Beiträge: 44

17.01.2017, 10:30:41 via Website

Hallo Zusammen,

@Stefan, soll ich die reduzierte Variante in die LoginActivity oder in die MainActivity schreiben?

Antworten
swa00
  • Forum-Beiträge: 3.704

17.01.2017, 10:34:12 via Website

In der Zeit wo du das gefragt hast hättest du schon zweimal ein Paste & Copy gemacht :-)

P.S aber vorher die Berechtigungen wieder manuell entziehen - ggf apk deinstallieren

— geändert am 17.01.2017, 10:34:56

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

Antworten
Dominik Hartl
  • Forum-Beiträge: 44

17.01.2017, 18:57:39 via Website

Hallo Zusammen,

egal, ob ich es in die Login oder Main Activity schreibe, wird mir die Activity, sowie folgendes rot angezeigt: READ_EXTERNAL_STORAGE

Antworten
Dominik Hartl
  • Forum-Beiträge: 44

17.01.2017, 19:42:55 via Website

@Stefan, du hast erwähnt, dass immer deine MainActivity auch die StartActivity war. Aber wie realisierst du dann einen Login? Weil der muss ja die StartActivity sein oder nicht?

Antworten
swa00
  • Forum-Beiträge: 3.704

17.01.2017, 21:48:24 via Website

Hallo Dominik,

Stefan, du hast erwähnt, dass immer deine MainActivity auch die StartActivity war. Aber wie realisierst du dann einen Login? Weil der muss ja die StartActivity sein oder nicht?

Das habe ich nicht geschrieben , immer die Activity (Name egal) , die in der Manifest mit MAIN/LAUCHER Intent angegeben ist die Activity, die beim Start benutzt wird.

Wenn du also dort deine Permissions einsetzt , wird es auch gehen .

egal, ob ich es in die Login oder Main Activity schreibe, wird mir die Activity, sowie folgendes rot angezeigt: READ_EXTERNAL_STORAGE

Das war nur ein Beispiel, wenn du READ_EXTERNAL_STORAGE nimmst , so sollte das auch in der Manifest sein

< uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
< uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />

Schau mal genau , was dir AS dann schreibt , wenn du complierst oder vorher mit der Maus drüber gehst , da steht das dann auch.
(Ausserdem auf der rechten Seite auch ( bei den vielen kleinen roten strichen )

— geändert am 17.01.2017, 21:52:39

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

Antworten
Dominik Hartl
  • Forum-Beiträge: 44

17.01.2017, 22:32:09 via Website

Hallo Stefan,

Das habe ich nicht geschrieben , immer die Activity (Name egal) , die in der Manifest mit MAIN/LAUCHER Intent angegeben ist die Activity, die beim Start benutzt wird.
Wenn du also dort deine Permissions einsetzt , wird es auch gehen .

Bei mir ist die Start Activity die LoginActivity
Ich habe die Permission Geschichten in die LoginActivity geschrieben --> funktioniert leider nicht
Kann es daran liegen, dass meine Map keine eigene Activity ist, sondern nur ein SmapFragment?

Antworten
swa00
  • Forum-Beiträge: 3.704

17.01.2017, 22:55:18 via Website

ass meine Map keine eigene Activity ist, sondern nur ein SmapFragment

Späte Info , auch ne Info ... :-(
(Bitte komplette info , wenn du Hilfe benötigst - unsere Kristallkugel hat auch nur eine beschränkte Kapazität)

Oben hast du aber die ganze Zeit von Activites gesprochen :-)

Du solltest schon eine Activity verwenden ...

— geändert am 17.01.2017, 22:56:43

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

Antworten
Dominik Hartl
  • Forum-Beiträge: 44

18.01.2017, 08:49:40 via Website

Hallo Stefan,

sorry, aber ich dachte, dass dies klar ist. Ich werde es mit einer Activity versuchen.
Ich gebe euch dann bescheid.
Schöne Grüße
Dominik

Antworten
Dominik Hartl
  • Forum-Beiträge: 44

18.01.2017, 20:47:16 via Website

Hallo Zusammen,

ich verzweifle gerade :(.
Mein Projekt ist ja wie vorher erwähnt ein Navigation Drawer Activity. Nun versuche ich eine Google Maps Activity hinzuzufügen, aber nun wird mir folgendes immer rot Markiert:

 MapFragment  test= new MapFragment();
        FragmentManager manager = getSupportFragmentManager();
        manager.beginTransaction().replace(R.id.relativelayout_for_fragment, test,test.getTag()).commit();

und zwar wird das getTag rot markiert und ich kann nur eine Methode einfügen, jedoch weiss ich nicht was da rein soll.

Antworten
Dominik Hartl
  • Forum-Beiträge: 44

18.01.2017, 20:51:01 via Website

das getTag funktioniert nur wenn ich es als normales Fragment hinzufüge, aber dann kann ich dies nicht als Map verwenden. Weiss jemand, wie ich die Navigation Codieren muss bzw die Map Class

Antworten
swa00
  • Forum-Beiträge: 3.704

18.01.2017, 21:08:20 via Website

Hallo Dominik ,

dein Konzept muss schon an die API angelehnt sein.

Eigentlich gibt es X Richtlinien-Beschreibungen dazu ...

Durcharbeiten musst du dich schon selbst ...
http://www.vogella.com/tutorials/AndroidGoogleMaps/article.html
https://developers.google.com/maps/get-started/?hl=de

Tante Google ist voll von Beispielen
.
.

wie ich die Navigation Codieren muss

Navigation ?? das Map-API kann nicht Navigieren

.
.

P.S es wäre schön , wenn wir auch mal von dir eine Rückmeldung auf die Permissions hätten,
wenn wir uns schon die Mühe machen

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

Antworten
Dominik Hartl
  • Forum-Beiträge: 44

18.01.2017, 21:22:57 via Website

Hallo Stefan,

ich habe vorhin ja geschrieben, dass ich das SmapFragment in eine eigene Activity umziehen möchte, da stellt sich auch mein Problem dar, dass ich nicht weiss, wie ich in einem Navigation Drawer zu einer Activity navigieren kann .

Antworten
Dominik Hartl
  • 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();

Antworten
swa00
  • Forum-Beiträge: 3.704

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 ]

Dominik Hartl

Antworten
Dominik Hartl
  • Forum-Beiträge: 44

18.01.2017, 21:44:56 via Website

Hallo Stefan,
beide Activitys einzeln funktionieren ja haha

Antworten
Dominik Hartl
  • 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?

Antworten
swa00
  • Forum-Beiträge: 3.704

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 ]

Antworten
Dominik Hartl
  • 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?

Antworten
Dominik Hartl
  • Forum-Beiträge: 44

18.01.2017, 22:27:25 via Website

Die App stürzt ab, wenn ich das finish weg lasse

Antworten
Dominik Hartl
  • Forum-Beiträge: 44

18.01.2017, 22:27:45 via Website

aber auch mit gehts ned haha

Antworten
Dominik Hartl
  • 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.

Antworten
Dominik Hartl
  • 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?

Antworten
swa00
  • Forum-Beiträge: 3.704

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 ]

Antworten
Dominik Hartl
  • 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?

Antworten
swa00
  • Forum-Beiträge: 3.704

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 ]

Dominik Hartl

Antworten
Dominik Hartl
  • Forum-Beiträge: 44

20.01.2017, 15:38:13 via Website

Hallo Stefan,
vielen Dank

Antworten
Dominik Hartl
  • Forum-Beiträge: 44

20.01.2017, 15:56:44 via Website

Aber meine Frage dann wozu brauche ich den Pager?

Antworten