0
我创建了2个简单的项目。 在首先,我把权限来体现:Android我的应用权限
<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"))
- 它仍在开始。但为什么?如何在未经许可的情况下开始?如何正确保护我的第二个项目使用权限?
要添加到您的答案中,OP的第一个项目已通过添加intent-filter: '来导出Activity。这允许任何**应用程序启动活动。 –
我可以限制任何应用程序吗?我想允许启动我的活动只适用于有一些“密码”/许可的应用程序... – user1766287
阅读http://developer.android.com/guide/components/intents-filters.html和http://developer.android .COM /引导/主题/清单/意图 - 过滤 - element.html – ObAt