मैं पूर्वावलोकन एम के साथ खेलता हूं और उस पर अपने ऐप का परीक्षण करता हूं, खासकर "बाहरी संग्रहण में फ़ाइल को सहेजना" भाग। डाउनलोड/प्रक्रिया शुरू होने से बचाने के लिए करने से पहले, मैं डेवलपर पृष्ठ पर वर्णित के रूप मेंएंड्रॉइड पूर्वावलोकन एम: अनुमति अनुदान के बाद गतिविधि पुन: प्रयास
Manifest.permission.WRITE_EXTERNAL_STORAGE
अनुमति के लिए अनुरोध करते हैं:
"Allow <AppName> to access photos, media, and files on your device?" Deny/Allow
तो मैं हिट ": https://developer.android.com/preview/features/runtime-permissions.html
संवाद की उम्मीद के रूप में होता इनकार करें "-बटन, गतिविधि की onRequestPermissionsResult-method कहा जाता है।
तो मैं "अनुमति दें" बटन दबाते हैं, तो गतिविधि पहले से निर्मित है और बाद में onRequestPermissionsResult-विधि कहा जाता है। मुझे लगता है कि यह अनुमत अनुमति का परिणाम है।
लेकिन दूसरी स्थिति मुश्किल है क्योंकि मैं एक कॉलबैक कि डाउनलोड शुरू होता है ट्रिगर करना चाहते हैं, लेकिन इस वस्तु इस बिंदु पर शून्य है:
public void onRequestPermissionsResult(int requestCode,
String permissions[], int[] grantResults) {
getLogger().error("onRequestPermissionsResult (" + requestCode + ", " + permissions + ", " + grantResults + ")");
switch (requestCode) {
//permission for saving files?
case PermissionCode.WRITE_EXTERNAL_STORAGE: {
if (grantResults[0] == PackageManager.PERMISSION_GRANTED) {
//HERE IS THE NULL-OBJECT
if (controller != null) {
controller.triggerCallback();
}
}
break;
}
default: {
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
}
}
}
तो मेरी प्रश्न हैं:
- कर सकते हैं मैं इस मनोरंजन से बचता हूँ?
- नहीं हैं, तो मैं अपने कोड कैसे नया स्वरूप कर सकते हैं समस्या को हल करने के लिए - मैं इस समय पूरी तरह से idealess हूँ
संपादित करें 1:
मैं एक हैंडलर के साथ समस्या को हल करने की कोशिश की और पोस्ट किया गया - लेकिन मैंने इसे छोड़ दिया।
संपादित करें 2:
मैं प्रारंभिक इसे हल और फिर से अनुरोध डाउनलोड बटन पुश करने के लिए (अनुमति के मामले में) के साथ उपयोगकर्ता के लिए एक टोस्ट दिखा। लेकिन Google: क्या आप गंभीर हैं?
संपादित करें 3:
कोई मनोरंजन नवीनतम SDK 6.0 (संस्करण 23) के साथ होता है - हो सकता है किसी को माउंटेन व्यू में मेरी रो सुना :-)
अरे आप इसे कैसे अंततः sove किया? मैं संस्करण 23 के साथ भी संकलित कर रहा हूं, और मुझे अभी भी अनुमति देने और अस्वीकार करने पर गतिविधि पुनरारंभ का सामना करना पड़ रहा है। OnRequestPermissionsResult विधि कभी नहीं कहा जाता है। मैं एक टुकड़े से अनुरोध पैरामिशन() बुला रहा हूँ। क्या इससे कोई फर्क पड़ता है? –
@ मयूर अधिक: आप अनुमति को निरस्त/अनुदान कैसे देते हैं? ऐप सेटिंग्स के अंदर रद्द/अनुदान करते समय, मेरे पास अभी भी ऐप को फिर से शुरू करने के बाद मनोरंजन है। लेकिन ऐप वर्कफ़्लो के अंदर - जैसा कि ऊपर वर्णित है - कोई मनोरंजन नहीं होता है ... –
कभी नहीं, मुझे यह हल हो गया। –