exported activity does not require permission

在AndroidManifest.xml中加入下面的activity后,出现警告“exported activity does not require permission”

<activity android:name=".MainActivity">
    <intent-filter>
        <action android:name="android.intent.action.VIEW" />
        <data android:scheme="http" android:host="example.com" />
    </intent-filter>
</activity>


解决方法:
来自:http://stackoverflow.com/questions/11462936/exported-activity-does-not-require-permission-when-attempting-to-launch-from-a

加上android:exported = "false"可以解决这个警告。
<activity 
  android:name=".MainActivity"
  android:exported="false">
    <intent-filter>
        <action android:name="android.intent.action.VIEW" />
        <data android:scheme="http" android:host="example.com" />
    </intent-filter>
</activity>

其中android:exported = “false”而没有任何intent-filer的activity只能通过它的class名去调用,就是意味着,这个activity只能在当前的application中被使用,这种情况下android:exported的值为false,否则出现任何一个intent-filer,它的值则为true。

猜你喜欢

转载自ideal46.iteye.com/blog/1749610