Java 使用权限启动活动

Java 使用权限启动活动,java,android,android-activity,android-permissions,Java,Android,Android Activity,Android Permissions,我想用权限做一个简单的练习。我需要为我的应用程序定义并强制执行一个名为“DangerousApp”的自定义权限,然后我需要设置另一个应用程序“PermissionsLab”,以便它可以使用“DangerousApp”,但当我尝试使用“PermissionLab”启动“DangerousApp”时,我收到一个错误:“很遗憾,PermissionsLab已停止” PermissionsLab的AndroidManifest.xml: <?xml version="1.0" encoding="

我想用权限做一个简单的练习。我需要为我的应用程序定义并强制执行一个名为“DangerousApp”的自定义权限,然后我需要设置另一个应用程序“PermissionsLab”,以便它可以使用“DangerousApp”,但当我尝试使用“PermissionLab”启动“DangerousApp”时,我收到一个错误:“很遗憾,PermissionsLab已停止”

PermissionsLab的AndroidManifest.xml:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="course.labs.permissionslab"
    android:versionCode="1"
    android:versionName="1.0" >

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

    <!--  TODO - add uses-permission elements -->
    <uses-permission android:name="com.android.browser.permission.READ_HISTORY_BOOKMARKS"/>
    <uses-permission android:name="course.labs.permissions.DANGEROUS_ACTIVITY_PERM"/>

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name=".ActivityLoaderActivity"
            android:label="@string/title_main" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity
            android:name=".BookmarksActivity"
            android:label="@string/title_permissions" >
        </activity>
        <activity
            android:name=".GoToDangerousActivity"
            android:label="@string/title_activity_customization" >
        </activity>
    </application>

</manifest>

感谢您的澄清。

权限帮助您保护服务、应用程序、活动。。。 此处为文档:

例如,如果要使用权限保护活动,请在AndroidManifest中声明权限并将其放在活动上,如下所示:

<manifest [...] >
    <permission android:name="com.mycompany.MY_PERMISSION"  android:protectionLevel="normal"
        android:description="@string/permission_desc"
        android:label="@string/permission_label" />
    <application [...] >
        <activity [...] android:permission="com.mycompany.MY_PERMISSION">
        </activity>
    </application>
</manifest>

在另一个应用程序中,如果要调用受权限保护的活动,则必须添加AndroidManifest:

<uses-permission android:name="com.mycompany.MY_PERMISSION" />


您能否发布您的LogCat输出。活动不是应用程序,您正在启动一个新的活动(
StartDangerusActivity
),而不是另一个应用程序。是您在Android中启动新应用的方式。@m0skit0我有两个应用,正在尝试从一个应用启动另一个应用。你很困惑,StartDangerusActivity是我用来启动应用程序的一种方法,它带有一种隐含的意图。使用LogCat检查与崩溃相关的Java堆栈跟踪:除此之外,这些是正确的清单吗?Android中没有
course.labs.permissions.hazardous\u ACTIVITY\u PERM
,您自己也没有定义它。@prudhvi Friend我解决了这个问题。谢谢你的关注
<manifest [...] >
    <permission android:name="com.mycompany.MY_PERMISSION"  android:protectionLevel="normal"
        android:description="@string/permission_desc"
        android:label="@string/permission_label" />
    <application [...] >
        <activity [...] android:permission="com.mycompany.MY_PERMISSION">
        </activity>
    </application>
</manifest>
<uses-permission android:name="com.mycompany.MY_PERMISSION" />