在我的android应用程序中,我有一个指定意向过滤器的活动。因此,我想通过指定android:permission属性来保护它。我想指定以下四个权限:
- android.permission.INTERNET
- android.permission.ACCESS_NETWORK_STATE
- android.permission.READ_EXTERNAL_STORAGE
- android.permission.READ_LOGS
但看起来,android:权限只允许一个权限。我怎样才能做到这一点?我希望调用方在启动我的活动之前拥有所有这些权限。
提前谢谢。
您使用多用途权限标签,如下所示:
<manifest>
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_LOGS" />
<application>
.
.
.
</application>
</manifest>
没有办法为活动定义多个权限。您可以通过使用checkCallingPermission()方法检查其他权限
<activity>
标记上的android:permission
属性不用于确保其他应用程序具有"活动"正常运行所需的权限。
permission属性用于限制哪个应用程序可以启动"活动"。例如,您可以定义自定义com.example.yourapp.DO_SOMETHING
权限,任何其他应用程序都必须向您请求该权限才能启动您的应用程序。
如果"活动"需要这四个权限才能运行,那么您的应用程序必须仍然是使用<uses-permission>
标记请求这些权限的应用程序。另一个应用程序无法请求这些权限,然后将其过渡授予您的"活动"。