一些研究和實踐後的資源和資源ID,我觀察到,我們可以像方式來訪問其他應用
Resources resources = getApplicationContext().getPackageManager().getResourcesForApplication(appPackageName);
而僅僅訪問Resources
不足以訪問使用PackageManager其他應用程序的資源。我們需要爲每個資源組件(如Drawables,佈局,字符串等等)使用Ids來從資源訪問它們。
我已經在SO中搜索過,並努力瞭解如何獲取其他應用程序的資源ID,但沒有得到適當的解決方案。我在SO看到,有些人建議使用方法,如
resources.getIdentifier(String name, String defType, String defPackage);
resources.getValue(String name, TypedValue outValue, boolean resolveRefs);
resources.getValue(int id, TypedValue outValue, boolean resolveRefs);
,但沒有知道如何使用它們。
我需要訪問其他應用程序的資源(Drawables,Strings,Layouts ...)。
幫助我解決這個問題。任何幫助將不勝感激......
感謝你對我的英語所有 和遺憾......
如果發生這種情況,這將是嚴重的安全漏洞。 –
@AbhishekV @因爲我們能夠獲得資源,我希望我們能夠獲得像Drawables,佈局等資源組件......不是嗎? –
@GopalRao雅我們可以獲得資源。但爲了從Drawing對象中獲取drawable,我們需要知道該drawable的名稱/ id。只有我們是這兩個應用程序的開發者,我們纔會知道它的知識。 –