Quoting the documentation:
To enforce your own permissions, you
must first declare them in your
AndroidManifest.xml
using one or more
<permission>
tags. For example, an application that wants to control who can start one of its activities could declare a permission for this operation as follows:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.me.app.myapp" >
<permission android:name="com.me.app.myapp.permission.DEADLY_ACTIVITY"
android:label="@string/permlab_deadlyActivity"
android:description="@string/permdesc_deadlyActivity"
android:permissionGroup="android.permission-group.COST_MONEY"
android:protectionLevel="dangerous" />
</manifest>
Hence, <uses-permission>
is when your application is seeking the user's permission to use some feature, while <permission>
is when your application is requiring other apps to seek the user's permission to use some feature of yours.