Dlatego chcę pobrać zasób ciągów z innej aplikacji. Ta aplikacja to Android PackageInstaller
(prawdopodobnie aplikacja System
), a ciąg, który chcę pobrać, ma wiele wersji językowych (kod źródłowy tutaj>Link). Więc Package Installer's
katalog zasobów wygląda następująco:Odzyskaj zasób ciągu z innej aplikacji
Chcę odzyskać String permission_warning_template
z folderu values
(zdaję sobie sprawę, że Android będzie automatycznie określić aktualny język i przynieś mi wartość tego języka, ale ja może mylić się).
To są 2 metody, które napisałem (minimalny, kompletny i sprawdzalny przykład) i żaden z nich nie działa. Czy to możliwe? Jak to zrobić?
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//First Try
testUseAndroidString();
//Second Try
Resources res = null;
try {
res = getPackageManager().getResourcesForApplication("com.android.packageinstaller");
} catch (PackageManager.NameNotFoundException e) {
e.printStackTrace();
}
if(null != res) {
int sId = res.getIdentifier("com.android.packageinstaller:string/permission_warning_template", null, null);
if(0 != sId) {
Log.d("TagLet", res.getString(sId));
}
}
}
public void testUseAndroidString() {
Context context = this;
Resources res;
try {
res = context.getPackageManager().getResourcesForApplication("com.android.packageinstaller");
int resourceId = res.getIdentifier("com.android.packageinstaller:string/permission_warning_template", null, null);
if(0 != resourceId) {
CharSequence s = context.getPackageManager().getText("com.android.packageinstaller:string/permission_warning_template", resourceId, null);
Log.d("TagLet", "resource=" + s);
}
} catch (PackageManager.NameNotFoundException e) {
e.printStackTrace();
}
Log.d("TagLet", "FAIL");
}
}
Dzięki.
Nie widzę tego możliwego. Dlaczego po prostu nie dodasz tych zasobów do swojej własnej aplikacji? – gustyaquino
To niemożliwe: aplikacje są piaskowane w systemie Android. Zobacz https://developer.android.com/training/articles/security-tips.html – Robert