1

로그인으로 앱을 개발하고 웹 서비스에 대한 연결로 OTP (one time password)를 제공하려고 시도하고 있지만 테스트 중에도 에뮬레이터에서 adb 셸을 통해 액티비티를 시작할 수있었습니다 로그인하지 않고, 즉 완전히 지정된 경로를 사용하고 인 텐트를 전달합니다. 이로 인해 외부 로그인없이 다른 앱에서 열 수있는 앱이 유서 깊게 남을 수 있습니다. 앱 외부의 의도를 통해 시작하는 것으로부터 활동을 보호 할 수 있습니다.의도로부터 안드로이드 액티비티 보호

아래가 매니페스트 코드입니다.

<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> 
+0

정확히 말해서 나는 해결책을 말하고 있지 않지만 그러한 활동에는 로그인이 필요합니다. 로그인 상태를 볼 수있는 코드가 있어야하고 그렇지 않으면 사용자 대화 상자가 의미가 있습니다. – Manmohan

답변

1

당신의 일 보호기입니다 -

android:exported = "false" 
활동이 다른 응용 프로그램의 구성 요소에 의해 발사 될 수 있는지 여부를

Documentation says -

는 - "사실"은 ", 그리고 할 수있는 경우 false "가 아닌 경우. "거짓"인 경우, 활동은 동일한 응용 프로그램의 구성 요소 또는 동일한 사용자 ID를 가진 응용 프로그램에 의해서만 시작될 수 있습니다.