我正在尝试开发一个登录并提供OTP(一次性密码)连接到web服务的应用程序,但在测试时,即使不登录,我也可以通过模拟器中的adb shell启动活动,即使用完全指定的路径和传递意图。这使得该应用程序在注销登录的情况下可以被其他应用程序打开。是否可以保护活动不通过应用程序之外的意图启动。
下面是清单代码。
<activity
android:name=".MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<activity
android:name=".LoginActivity"
android:label="@string/login" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".The1Activity" >
</activity>
<activity android:name=".The2Activity" >
</activity>
您的日常储蓄是-
android:exported = "false"
文件显示-
活动是否可以由其他应用程序的组件启动——如果可以,则为"true",如果不能,则为为"false"。如果"false",则活动只能由相同应用程序的组件或具有相同用户ID的应用程序启动。