मैं अपने प्रोजेक्ट में कॉर्डोवा स्प्लैश स्क्रीन प्लगइन का उपयोग कर रहा हूं जब मैं अनुरोध भंडारण अनुमति के लिए इन कोड का उपयोग करता हूं तो स्पलैश स्क्रीन काम नहीं करती है:

    if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.M)
    {
        requestPermissions(new String[] {Manifest.permission.WRITE_EXTERNAL_STORAGE}, 1);
        requestPermissions(new String[] {Manifest.permission.READ_EXTERNAL_STORAGE}, 1);
    }

जब मैं इस कोड को हटाता हूं तो स्प्लैश स्क्रीन फिर से काम करती है!

यह मेरी मुख्य गतिविधि है:

public class MainActivity extends CordovaActivity
{

boolean doubleBackToExitPressedOnce = false;
int res = 404; 
int code;
@Override
public void onCreate(Bundle savedInstanceState)
{
    super.onCreate(savedInstanceState);
    Bundle extras = getIntent().getExtras();
    if (extras != null && extras.getBoolean("cdvStartInBackground", false)) {
        moveTaskToBack(true);
    }
....
....
....
    UiChangeListener();
    requestPermission();
}

public void UiChangeListener()
{
    final View decorView = getWindow().getDecorView();
    decorView.setOnSystemUiVisibilityChangeListener (new View.OnSystemUiVisibilityChangeListener() {
        @Override
        public void onSystemUiVisibilityChange(int visibility) {
            if ((visibility & View.SYSTEM_UI_FLAG_FULLSCREEN) == 0) {
                decorView.setSystemUiVisibility(
                        View.SYSTEM_UI_FLAG_LAYOUT_STABLE
                                | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
                                | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
                                | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
                                | View.SYSTEM_UI_FLAG_FULLSCREEN
                                | View.SYSTEM_UI_FLAG_IMMERSIVE);
            }
        }
    });

}
private void requestPermission() {
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
        requestPermissions(new String[]{android.Manifest.permission.WRITE_EXTERNAL_STORAGE}, 1);
        requestPermissions(new String[]{android.Manifest.permission.READ_EXTERNAL_STORAGE}, 1);
    } }

}

}

क्या गलत?

1
Ehsun Azizi 29 अगस्त 2018, 20:20

2 जवाब

इसके अलावा:

if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.M)
{
    requestPermissions(new String[] {Manifest.permission.WRITE_EXTERNAL_STORAGE}, 1);
    requestPermissions(new String[] {Manifest.permission.READ_EXTERNAL_STORAGE}, 1);
}

इसे लिखें:

if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.M)
{
    requestPermissions(new String[] {Manifest.permission.WRITE_EXTERNAL_STORAGE, Manifest.permission.READ_EXTERNAL_STORAGE}, 1);
}

आपको 2 अलग-अलग अनुमतियों के लिए 2 बार अनुमति का अनुरोध करने की आवश्यकता नहीं है। आप एक अनुरोध में कई अनुमतियों को जोड़ सकते हैं।

आशा है कि इससे सहायता मिलेगी।

0
Ümañg ßürmån 29 अगस्त 2018, 20:51

आप उपरोक्त अनुमतियों को AndroidManifest फ़ाइल में जोड़ सकते हैं और स्प्लैश स्क्रीन बनाने के लिए बस नीचे की तरह एक वर्ग लिखें और आशय का उपयोग करें

public class entercsreen extends Activity {

private final int SPLASH_DISPLAY_LENGTH = 1500;


@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_entercsreen);

    new Handler().postDelayed(new Runnable(){
        @Override
        public void run() {
            /* Create an Intent that will start the Menu-Activity. */
            Intent mainIntent = new Intent(entercsreen.this,MainActivity.class);
            entercsreen.this.startActivity(mainIntent);
            entercsreen.this.finish();
        }
    }, SPLASH_DISPLAY_LENGTH);





}

}

0
ANIRBIT ADAK 29 अगस्त 2018, 21:15