दिलचस्प पोस्ट
keytool त्रुटि Keystore के साथ छेड़छाड़ किया गया था, या पासवर्ड गलत था कई बिल्ड कॉन्फ़िगरेशन के लिए अलग ऐप। कॉन्फ़िग कैसे चुनना है मौजूदा जीआईटी शाखा को एक दूरदराज शाखा पर नज़र डालें? सीतनिद्रा में होना: एक ही पहचानकर्ता मान के साथ अलग ऑब्जेक्ट पहले से ही सत्र से जुड़ा था सीएसएस पृष्ठ संख्या के लिए ब्राउज़र समर्थन User.config का कस्टम पथ सीपीपी फ़ाइलें भी शामिल है मैं CSS के साथ पृष्ठ में किसी अन्य तत्व की स्थिति के आधार पर एक तत्व का चयन कैसे करूं? मोंगोडीबी / मोंगोज एक विशिष्ट तिथि पर पूछताछ करते हैं? कैलेंडर के लिए साप्ताहिक ईवेंट जोड़ें एसआईसी या एसएसएच का इस्तेमाल करते हुए एक पायथन में एक रिमोट सर्वर पर एक फाइल कॉपी कैसे करें? पता लगाएं कि पेज लोड हो रहा है या नहीं TGraphicControl से घटित एक घटक के लिए माउस व्हील समर्थन जोड़ने के लिए कैसे? असंपीड़ित जीज़िप संकुचित HTTP प्रतिसाद कैसे यूआरएल में अतिरिक्त पलायन जोड़ने से NSJSONSerialization को रोकने के लिए

एंड्रॉइड: java.lang.SecurityException: अनुमति अस्वीकृति: आरंभ आशय

मैंने GWVectraNotifier गतिविधि वाले एक एप्लिकेशन को बनाया है जिसे अधिसूचना प्रदर्शित करने के लिए अन्य एप्लिकेशन से कहा जाता है।

अधिसूचना संवाद में, 'शो' बटन और 'बंद' बटन होगा।

'शो' बटन पर क्लिक करें, संबंधित गतिविधि शुरू की जाएगी।

उपरोक्त आवेदन की कार्यक्षमता की जांच के लिए,

मैंने चेकमेल ईवेंट ट्रिगर पर K9Mail एप्लिकेशन से GWVectraNotifier गतिविधि प्रारंभ की है।

मैं सफलतापूर्वक GWVectraNotifier गतिविधि शुरू करने में सक्षम हूं, लेकिन 'शो' बटन पर क्लिक करने पर मुझे के 9 ईमेल की 'MessageList' गतिविधि शुरू करनी होगी। ऐसा करने के लिए, मैं नीचे कोड लिखा था:

Intent i = new Intent(); i.setComponent(new ComponentName("com.fsck.k9", "com.fsck.k9.activity.MessageList")); i.putExtra("account", accUuid); i.putExtra("folder", accFolder); startActivity(i); 

जो फेंकता है:

 WARN/ActivityManager(59): Permission denied: checkComponentPermission() reqUid=10050 WARN/ActivityManager(59): Permission Denial: starting Intent { cmp=com.fsck.k9/.activity.MessageList (has extras) } from ProcessRecord{43f6d7c8 675:com.i10n.notifier/10052} (pid=675, uid=10052) requires null WARN/System.err(675): java.lang.SecurityException: Permission Denial: starting Intent { cmp=com.fsck.k9/.activity.MessageList (has extras) } from ProcessRecord{43f6d7c8 675:com.i10n.notifier/10052} (pid=675, uid=10052) requires null WARN/System.err(675): at android.os.Parcel.readException(Parcel.java:1247) WARN/System.err(675): at android.os.Parcel.readException(Parcel.java:1235) WARN/System.err(675): at android.app.ActivityManagerProxy.startActivity(ActivityManagerNative.java:1298) WARN/System.err(675): at android.app.Instrumentation.execStartActivity(Instrumentation.java:1373) WARN/System.err(675): at android.app.Activity.startActivityForResult(Activity.java:2817) WARN/System.err(675): at android.app.Activity.startActivity(Activity.java:2923) WARN/System.err(675): at com.i10n.notifier.GWVectraNotifier$2$1.run(GWVectraNotifier.java:63) WARN/System.err(675): at android.app.Activity.runOnUiThread(Activity.java:3707) WARN/System.err(675): at com.i10n.notifier.GWVectraNotifier$2.onClick(GWVectraNotifier.java:53) WARN/System.err(675): at android.view.View.performClick(View.java:2408) WARN/System.err(675): at android.view.View$PerformClick.run(View.java:8816) WARN/System.err(675): at android.os.Handler.handleCallback(Handler.java:587) WARN/System.err(675): at android.os.Handler.dispatchMessage(Handler.java:92) WARN/System.err(675): at android.os.Looper.loop(Looper.java:123) WARN/System.err(675): at android.app.ActivityThread.main(ActivityThread.java:4627) WARN/System.err(675): at java.lang.reflect.Method.invokeNative(Native Method) WARN/System.err(675): at java.lang.reflect.Method.invoke(Method.java:521) WARN/System.err(675): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868) WARN/System.err(675): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626) WARN/System.err(675): at dalvik.system.NativeStart.main(Native Method) 

दरअसल, मैं समझ नहीं पा रहा हूं कि केएममेल के संदेश लिस्ट को एक्सेस करने के लिए मेरे नोटिफ़ायर एप्लिकेशन की मैनिफ़ेस्ट फ़ाइल में क्या अनुमति शामिल है। मैं k9mail एप्लिकेशन की मैनिफ़ेस्ट फ़ाइल में शामिल अनुमतियों से चिपक कर रहा हूं:

 <uses-permission android:name="android.permission.READ_CONTACTS"/> <uses-permission android:name="android.permission.READ_SYNC_SETTINGS"/> <uses-permission android:name="android.permission.READ_OWNER_DATA"/> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> <uses-permission android:name="android.permission.INTERNET"/> <uses-permission android:name="android.permission.VIBRATE"/> <uses-permission android:name="android.permission.WAKE_LOCK"/> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="org.thialfihar.android.apg.permission.READ_KEY_DETAILS"/> <permission android:name="com.fsck.k9.permission.READ_ATTACHMENT" android:permissionGroup="android.permission-group.MESSAGES" android:protectionLevel="dangerous" android:label="@string/read_attachment_label" android:description="@string/read_attachment_desc"/> <uses-permission android:name="com.fsck.k9.permission.READ_ATTACHMENT"/> <permission android:name="com.fsck.k9.permission.REMOTE_CONTROL" android:permissionGroup="android.permission-group.MESSAGES" android:protectionLevel="dangerous" android:label="@string/remote_control_label" android:description="@string/remote_control_desc"/> <uses-permission android:name="com.fsck.k9.permission.REMOTE_CONTROL"/> <permission android:name="com.fsck.k9.permission.READ_MESSAGES" android:permissionGroup="android.permission-group.MESSAGES" android:protectionLevel="normal" android:label="@string/read_messages_label" android:description="@string/read_messages_desc"/> <uses-permission android:name="com.fsck.k9.permission.READ_MESSAGES"/> <permission android:name="com.fsck.k9.permission.DELETE_MESSAGES" android:permissionGroup="android.permission-group.MESSAGES" android:protectionLevel="normal" android:label="@string/delete_messages_label" android:description="@string/read_messages_desc"/> <uses-permission android:name="com.fsck.k9.permission.DELETE_MESSAGES"/> 

क्या कोई मुझे बता सकता है कि मेरे ऐप में क्या शामिल करने की अनुमति है? उपरोक्त अनुमतियों में कुछ केवल के 9 ईमेल के लिए हैं, क्योंकि ये अनुमतियाँ हैं k9 के लिए लिखित कक्षाएं। इसलिए, मैं केवल उपरोक्त अनुमतियों में एंड्रॉइड के अंतर्निहित अनुमतियों को शामिल करने में सक्षम होगा। मैंने ऐसा करने की कोशिश की, लेकिन मेरी समस्या का समाधान नहीं हुआ 🙁

वेब के समाधान से एकत्रित समाधान "एंड्रॉइड: java.lang.SecurityException: अनुमति अस्वीकृति: आरंभ आशय"

आपको android:exported="true" जोड़ना होगा android:exported="true" आपके द्वारा शुरू की जाने वाली गतिविधि में मैनिफ़ेस्ट फ़ाइल में android:exported="true"

एंड्रॉइड से: निर्यात किए गए दस्तावेज़ :

एंड्रॉयड: निर्यात
क्या अन्य गतिविधियों के घटकों द्वारा गतिविधि को लॉन्च किया जा सकता है – "सच" अगर यह हो सकता है, और यदि "नहीं" हो तो अगर "झूठे", तो गतिविधि को उसी प्रयोक्ता आईडी के साथ ही उसी अनुप्रयोग या एप्लिकेशन के घटकों द्वारा लॉन्च किया जा सकता है।

डिफ़ॉल्ट मान इस बात पर निर्भर करता है कि क्या गतिविधि में इरादा फ़िल्टर हैं किसी भी फिल्टर का अभाव यह है कि गतिविधि को केवल इसके सटीक वर्ग नाम निर्दिष्ट करके लागू किया जा सकता है। इसका अर्थ यह है कि गतिविधि केवल ऐप-आंतरिक उपयोग के लिए है (क्योंकि दूसरों को क्लास का नाम नहीं पता होगा)। इसलिए इस मामले में, डिफ़ॉल्ट मान "गलत" है दूसरी ओर, कम से कम एक फिल्टर की उपस्थिति का अर्थ है कि गतिविधि बाहरी उपयोग के लिए है, इसलिए डिफ़ॉल्ट मान "सत्य" है

यह विशेषता अन्य अनुप्रयोगों के लिए किसी गतिविधि के प्रदर्शन को सीमित करने का एकमात्र तरीका नहीं है। आप बाहरी संस्थाओं को सीमित करने की अनुमति का भी उपयोग कर सकते हैं जो गतिविधि को लागू कर सकते हैं (अनुमति विशेषता देखें)।

java.lang.SecurityException आप देख रहे हैं क्योंकि आप एक ही गतिविधि के लिए इंगित दो प्रविष्टियों दर्ज कर सकते हैं दूसरे को निकालें और आपको जाना अच्छा लगेगा

अधिक स्पष्टीकरण

मैनिफेस्ट में विभिन्न गुणों के साथ 2 बार गतिविधि को घोषित किया जा सकता है, जैसे:

  <activity android:name=".myclass"> </activity> 

तथा

  <activity android:name=".myclass" android:label="@string/app_name"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> 

आपको अवांछित एक मैनिफेस्ट से निकालना चाहिए

आपकी ज्ञात फाइल में </application > से पहले इसे लिखना

 <activity android:name="com.fsck.k9.activity.MessageList"> <intent-filter> <action android:name="android.intent.action.MAIN"> </action> </intent-filter> </activity> 

और मुझे बताएं कि क्या यह आपकी समस्या का हल करता है 🙂

मुझे इस सटीक गतिविधि के साथ इस समस्या थी

आप com.fsck.k9.activity.MessageList को एक बाहरी गतिविधि से प्रारंभ नहीं कर सकते।

मैंने इसके साथ हल किया:

Intent LaunchK9 = getPackageManager().getLaunchIntentForPackage("com.fsck.k9"); this.startActivity(LaunchK9);

http://developer.android.com/reference/android/content/pm/PackageManager.html का उपयोग करना

मैं एक ही समस्या में चल रहा था और जैसा कि आप वर्णित हैं, आशय फ़िल्टर को जोड़ने से बचने के लिए चाहते थे। कुछ खुदाई के बाद, मुझे एंड्रॉइड का एक एक्सएमएल गुण मिला : निर्यात किया गया था, जिसे आपको कहा जाना चाहेंगे उस गतिविधि में जोड़ना चाहिए

यदि डिफ़ॉल्ट रूप से आपकी गतिविधि में कोई इंप्रेशन फिल्टर जोड़ा जाता है, तो यह डिफ़ॉल्ट रूप से गलत पर सेट होता है, लेकिन यदि आपके पास कोई आशय फ़िल्टर होता है तो उसे सही पर सेट किया जाता है

यहां दस्तावेज हैं http://developer.android.com/guide/topics/manifest/activity-element.html#exported

tl; dr: android:exported="true" जोड़ें android:exported="true" आपके एंड्रॉइडमैंनिस्ट.एक्सएम फाइल में आपकी गतिविधि के लिए android:exported="true" और इन्टेंट-फिल्टर जोड़ने से बचें 🙂

सुनिश्चित करें कि घटक "निर्यात" ध्वज को सही पर सेट किया गया है। इसके अलावा अनुमति को परिभाषित करने वाले घटक को घटक का उपयोग करने से पहले स्थापित किया जाना चाहिए।

मैंने इस अपवाद को target sdk संस्करण को 19 से आगे केटकटक संस्करण AndroidManifest.xml. बदल कर हल किया AndroidManifest.xml.

 <uses-sdk android:minSdkVersion="8" android:targetSdkVersion="19" /> 

यह आसान हो सकता है कि आपके पास कॉन्फ़िगरेशन में त्रुटि हो।

उदाहरण के लिए: Manifest.xml

यहां छवि विवरण दर्ज करें

लेकिन मेरे कॉन्फ़िगरेशन में डिफ़ॉल्ट गतिविधि के लिए है। स्पलैश

यहां छवि विवरण दर्ज करें

आपको इस कॉन्फ़िगरेशन और फ़ाइल Manifest.xml को चेक करना होगा

शुभ लाभ

मेरी समस्या यह थी कि मुझे यह था: गलत इसके अलावा: सही बात