2011-05-28 18 views
8

तो मेरी नवीनतम दीवार मैंने अपने कार्यक्रम के साथ एसडीकार्ड को लिखने की कोशिश में है। मैं हो रही है:अनुमति अस्वीकार: ... की आवश्यकता है android.permission.WRITE_EXTERNAL_STORAGE

[2011-05-28 10:00:16 - LatinDictionary] ActivityManager: java.lang.SecurityException: Permission Denial: starting Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10000000 cmp=com.joelman.latindictionary/.LatinDictionary } from null (pid=-1, uid=-1) requires android.permission.WRITE_EXTERNAL_STORAGE 

आप नीचे मेरी प्रकट से देख सकते हैं, मैं अनुमति (मैं भी गतिविधियों में से प्रत्येक में जोड़ने से कोई फायदा नहीं हुआ) जोड़ दिया है। मैं क्या खो रहा हूँ?

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
     package="com.joelman.latindictionary" 
     android:versionCode="1" 
     android:versionName="1.0"> 
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission> 
    <application android:icon="@drawable/icon" android:label="@string/app_name" android:permission="android.permission.WRITE_EXTERNAL_STORAGE"> 
    <activity android:name=".LatinDictionary"> 
    <intent-filter> 
    <action android:name="android.intent.action.MAIN"></action> 
<category android:name="android.intent.category.LAUNCHER"></category> 
</intent-filter> 
<intent-filter><action android:name="android.intent.action.SEARCH"></action> 
</intent-filter> 
</activity> 

<provider android:name="DictionaryProvider" android:authorities="com.joelman.latindictionary.DictionaryProvider"></provider> 
</application> 

</manifest> 

TIA, योएल

उत्तर

6

आवेदन टैग बाहर अनुमति लाइन रखो, लेकिन प्रकट एक

+0

यह सही होना चाहिए जवाब। साथ ही, ध्यान दें कि नए एंड्रॉइड एसडीके संस्करणों में इस प्रकार की त्रुटियों को आगे बढ़ाने के लिए 'लिंट' टूल शामिल है। –

16

भीतर यह इस तरह होना चाहिए:

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
     package="com.joelman.latindictionary" 
     android:versionCode="1" 
     android:versionName="1.0"> 
    <application android:icon="@drawable/icon" android:label="@string/app_name" android:permission="android.permission.WRITE_EXTERNAL_STORAGE"> 
    <activity android:name=".LatinDictionary"> 
    <intent-filter> 
    <action android:name="android.intent.action.MAIN"></action> 
<category android:name="android.intent.category.LAUNCHER"></category> 
</intent-filter> 
<intent-filter><action android:name="android.intent.action.SEARCH"></action> 
</intent-filter> 
</activity> 

<provider android:name="DictionaryProvider" android:authorities="com.joelman.latindictionary.DictionaryProvider"></provider> 
</application> 
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission> 
</manifest> 
+2

आपको धन्यवाद !!! नोट: इसे चलाने के लिए मुझे नोड से अनुमति को भी हटाना पड़ा। – user568259

+3

?? दोनों के बीच क्या अंतर है? <उपयोग-अनुमति> को स्थानांतरित कर दिया गया था, लेकिन यह मूल रूप से तत्व के भीतर था और तत्व के भीतर नहीं था, तो ऑर्डर या और <उपयोग-अनुमति> पदार्थ (xml में) क्यों होगा? – Ribo

+0

मेरे पास यह '' टैग के बाहर था - लेकिन यह फ़ाइल की शुरुआत में था। _after_ को अनुमति देने के बाद '' टैग ने इसे काम किया। –

संबंधित मुद्दे