我创建了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" /
但是如果我从第二个项目中删除了uses-permission,然后开始活动:
startActivity(new Intent("com.example.graph.SHOW"))
第一个项目它还在开始。但为什么?未经许可怎么开始?如何使用权限正确保护我的第二个项目?
答案 0 :(得分: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);