Android 앱에 권한을 정의하고 다른 타사 앱을 사용하도록하고 싶습니다. 이 권한은 모듈 호출을 제한하는 데 사용됩니다. 즉, 타사 앱은 안드로이드 시스템에서 정의한 시스템 권한 인 android.permission.INTERNET을 사용하는 것처럼 내 모듈에 전화 할 수있는 올바른 권한을 요청해야합니다.타사 앱이 Android에서 사용할 수 있도록 권한을 정의하십시오.
필자의 테스트에서 필자는 "my.apps.permission.my_permission"과 같이 내 응용 프로그램에서 권한을 정의한 다음 에뮬레이터에 설치했습니다. 일부 액티비티에서는 android : permission = "my.apps.permission.my_permission"속성이 추가되었습니다. 이 속성은 내 액티비티를 호출하는 앱에 올바른 권한 "my.apps.permission.my_permission"이 있어야합니다. 그런 다음 테스트 응용 프로그램에서 AndroidManifest.xml의 사용 권한을 요청하십시오. <uses-permission android:name="my.apps.permission.my_permission" />
테스트 응용 프로그램에서 startActivity()를 호출 할 때 내 권한이 필요한 작업을 호출 할 때 문제가 발생합니다. SecurityException : Permission 거부되었습니다. 하지만 테스트 앱에서 같은 이름의 권한을 정의하면 모든 것이 잘 동작합니다.
1)은 "my.apps.permission.my_permission"내 응용 프로그램에 정의 된 권한, 기타 제 3 자 애플리케이션에 보이지 않는 것을 보인다
는 그리고, 다음은 내 결론이다. 다른 앱이 Android 시스템에 정의 된 것과 같이 내 권한을 사용할 수 있도록 표시하려면 어떻게해야하나요?
2) 심지어 눈에 보이지만 Android는 이름이 충돌하는 사용자 정의 권한을 검사하지 않습니다. (테스트 앱에서 이름을 android.permission.INTERNET로 지정하여 테스트합니다. 시스템 정의 된 권한을 덮어 씁니다. , 그리고 내 애플 리케이션에서 "android.permission.INTERNET"을 요구하고, 여전히 모든 것이 잘 작동한다.) 그렇다면, 모든 다른 애플 리케이션은 내 모듈이 요구하는 것과 같은 이름으로 권한을 정의하고, 내 앱을 속일 수있다. 그게 맞습니까?
누구든지 도움을받을 수 있습니까? 감사합니다.
,이 봐 당신은 그것을 찾고 있습니다 무엇 : MaratSafinWang 이봐, 당신이 샘플 코드를 제공 할 수 http://stackoverflow.com/questions/4425940/creating-your-own-permissions/21611769#21611769 – SuperManEver