Ich bin Anfänger auf native Android-Entwicklung. Ich arbeite an android studio
. Ich habe eine tabbed activity
, in der ich 2 Registerkarten verwende. In einem Tab gibt es eine Karte mit Marker am GPS-Standort des Benutzers. Die zweite Registerkarte besteht darin, ein Bild aufzunehmen und es dann im Speicher des Betriebssystems zu speichern. Dazu folgte ich dieser tutorial, führen Sie die App auf meinem Gerät, aber es stürzt ab. Ich betreibe es unter Marshmallow
. Im Folgenden wird der Fehler angezeigt iPermission Denial in Android während der Arbeit mit der Kamera
java.lang.SecurityException: Permission Denial: starting Intent { act=android.media.action.IMAGE_CAPTURE cmp=android/com.android.internal.app.ResolverActivity } from ProcessRecord{e8f9820 15070:com.example.accurat.faisal/u0a228} (pid=15070, uid=10228) with revoked permission android.permission.CAMERA
at android.os.Parcel.readException(Parcel.java:1620)
at android.os.Parcel.readException(Parcel.java:1573)
at android.app.ActivityManagerProxy.startActivity(ActivityManagerNative.java:3181)
at android.app.Instrumentation.execStartActivity(Instrumentation.java:1541)
at android.app.Activity.startActivityForResult(Activity.java:4298)
at android.support.v4.app.BaseFragmentActivityJB.startActivityForResult(BaseFragmentActivityJB.java:50)
at android.support.v4.app.FragmentActivity.startActivityForResult(FragmentActivity.java:79)
at android.support.v4.app.ActivityCompatJB.startActivityForResult(ActivityCompatJB.java:30)
at android.support.v4.app.ActivityCompat.startActivityForResult(ActivityCompat.java:146)
at android.support.v4.app.FragmentActivity.startActivityFromFragment(FragmentActivity.java:937)
at android.support.v4.app.FragmentActivity$HostCallbacks.onStartActivityFromFragment(FragmentActivity.java:1047)
at android.support.v4.app.Fragment.startActivityForResult(Fragment.java:954)
at android.support.v4.app.Fragment.startActivityForResult(Fragment.java:943)
at com.example.accurat.faisal.Camera$1.onClick(Camera.java:51)
at android.view.View.performClick(View.java:5716)
at android.widget.TextView.performClick(TextView.java:10926)
at android.view.View$PerformClick.run(View.java:22596)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:7325)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230 at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)
ich es gesucht und gefunden, dass ich die Erlaubnis für sie so gefolgt fragen sollte ich dieses link und versuchte Berechtigungsprüfung wie als Gebrüll
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// Check permission for CAMERA
if (ActivityCompat.checkSelfPermission(getActivity(), Manifest.permission.CAMERA)
!= PackageManager.PERMISSION_GRANTED) {
// Check Permissions Now
// Callback onRequestPermissionsResult interceptado na Activity MainActivity
ActivityCompat.requestPermissions(getActivity(),
new String[]{Manifest.permission.CAMERA},
MainActivity.REQUEST_CAMERA);
}
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(intent, CAPTURE_IMAGE_ACTIVITY_REQUEST_CODE);
}
});
hinzufügen, aber ich bin immer red text
von CAMERA
und REQUEST_CAMERA
. Obwohl ich sich auch importiert haben, aber immer noch der rote Text zeigt
import static android.Manifest.permission.CAMERA;
import static android.Manifest.permission.RECORD_AUDIO;
import static android.Manifest.permission.WRITE_EXTERNAL_STORAGE;
Unten ist meine Manifest-Datei
<uses-permission android:name="com.example.accurat.faisal.permission.MAPS_RECEIVE"/>
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.hardware.camera"/>
Ich weiß nicht, was das Problem ist und nicht wissen, die Lösung und ich bleibe dran.
Jede Hilfe wäre sehr
Wie die Zeichenfolge "red text" wörtlich? Versuche zu säubern und neu aufzubauen. Dann installieren Sie die App erneut auf dem Gerät. – Fildor
@Fildor Ich habe hinzugefügt 'Import statische android.Manifest.permission.CAMERA;' und es zeigt mir keine roten Linien aber auf 'REQUEST_CAMERA' – faisal1208
Ahhh, also ich denke, es gibt keine REQUEST_CAMERA in Ihrer MainActivity definiert ... Die IDE sollte dort einen Fehlertext zur Verfügung stellen. – Fildor