Android uygulamamda bir izin tanımlamak ve diğer üçüncü taraf uygulamaların kullanmasına izin vermek istiyorum. Bu izin, modüllerimin çağrılmasını kısıtlamak için kullanılır. Yani, üçüncü taraf uygulamaların, Android sistem tarafından tanımlanan sistem izinlerini, android.permission.INTERNET veya benzeri gibi benim modülümü aramak için doğru izni istemesi gerekir.Android'de kullanmak üzere üçüncü taraf uygulamaları için bir izin tanımlayın
Benim testimde, uygulamamdaki izni tanımladım, "my.apps.permission.my_permission" deyin ve sonra bunu emülatöre yükleyin. Bazı Etkinliklerim'de, android: allow = "my.apps.permission.my_permission" özelliği eklendi. Bu özellik, etkinliklerimi çağıran uygulamaların "my.apps.permission.my_permission" doğru izne sahip olmasını zorunlu kılıyor. Daha sonra bir test uygulamasında, AndroidManifest.xml, <uses-permission android:name="my.apps.permission.my_permission" />
'da izin isteğinde bulunun. Sorun, test uygulamasında, izin gerektiren aktivitelerimi çağıracağım, startActivity() işlevini çağırdığımda, bir SecurityException aldım: İzin Reddedildi. Ancak, test uygulamasında aynı adla bir izin tanımlamış olsaydım, her şey iyi çalışıyor.
1), "my.apps.permission.my_permission" Uygulamamda tanımlanan izin, diğer üçüncü taraf uygulamalar tarafından görülemez, görünüyor:
Ve aşağıdakiler benim sonuçlar bulunmaktadır. Nasıl görünür hale getirilir, böylece diğer uygulamalar Android sistemde tanımlananlar gibi benim iznimi kullanabilir?
2) Hatta görünür, Android, kullanıcı tanımlı izinleri çakışan adla denetlemez. (Bunu test uygulamasında "android.permission.INTERNET" adıyla bir izin tanımlayarak test ediyorum ve sistem tanımlı olanı geçersiz kılar. ve benim app "android.permission.INTERNET" gerektirir ve hala, her şey iyi çalışıyor.) Öyleyse, diğer her uygulama benim modülün gerektirdiği aynı ada sahip bir izin tanımlayabilir ve benim app hile. Bu doğru mu?
Herkes yardımcı olabilir? Çok teşekkürler! Yanıtı aldım.
, orada Bak için aradığınız neyin: MaratSafinWang Hey, bir örnek kod verebilir http://stackoverflow.com/questions/4425940/creating-your-own-permissions/21611769#21611769 – SuperManEver