0

我创建了 2 个简单的项目。首先,我允许显示:

<permission android:name="com.example.MODULE"
            android:label="Example module"
            android:protectionLevel="dangerous" />
<application android:label="@string/app_name" android:theme="@style/Theme.Sherlock.Light" android:icon="@drawable/ic_launcher">
    <activity android:name="MyActivity"
              android:label="@string/app_name"
              android:exported="true"
              android:excludeFromRecents="true">
<intent-filter>
            <action android:name="android.intent.action.MAIN"/>
            <action android:name="com.example.graph.SHOW"/>
            <category android:name="android.intent.category.DEFAULT" />
        </intent-filter>

在第二个项目中:

<uses-permission android:name="com.example.MODULE" /

但是如果我从第二个项目中删除使用权限,然后开始活动:

startActivity(new Intent("com.example.graph.SHOW"))

第一个项目 - 它仍在开始。但为什么?未经许可如何启动?如何使用权限正确保护我的第二个项目?

4

1 回答 1

0

您不需要权限即可启动应用程序。您可以运行所有应用程序而无需向开发人员询问权限。例如,我可以在不询问开发人员的情况下运行此代码(启动著名的条形码扫描仪)。

Intent intent = new Intent("com.google.zxing.client.android.ENCODE");
intent.putExtra("ENCODE_TYPE", "TEXT_TYPE");
intent.putExtra("ENCODE_DATA", output);
intent.putExtra("ENCODE_FORMAT", "QR_CODE");
intent.putExtra("ENCODE_SHOW_CONTENTS", false);
于 2013-01-13T17:57:43.410 回答