Vì vậy, tôi muốn truy xuất tài nguyên chuỗi từ một ứng dụng khác. Ứng dụng là Android PackageInstaller
(hầu hết có thể là ứng dụng System
) và chuỗi Tôi muốn truy xuất có nhiều phiên bản ngôn ngữ (Mã nguồn ở đây>Link). Vì vậy, Package Installer's
thư mục tài nguyên trông như thế này:Truy xuất tài nguyên chuỗi từ ứng dụng khác
Tôi muốn lấy String permission_warning_template
từ thư mục values
(Tôi nhận ra rằng Android sẽ tự động xác định ngôn ngữ hiện tại và sẽ lấy tôi giá trị của ngôn ngữ đó, nhưng tôi có thể sai).
Đây là 2 phương pháp tôi đã viết (Ví dụ tối thiểu, hoàn chỉnh và có thể xác minh) và không hoạt động. Thậm chí có thể không? Làm thế nào để hoàn thành nó?
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");
}
}
Cảm ơn.
Tôi không thấy điều đó có thể xảy ra. Tại sao bạn không chỉ đưa những tài nguyên đó vào ứng dụng của riêng mình? – gustyaquino
Thats không thể: Ứng dụng được sandboxed trong Android. Xem https://developer.android.com/training/articles/security-tips.html – Robert