要解决Android中将一个应用与文件扩展名关联导致新的副本启动的问题,可以使用以下代码示例:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 获取Intent中的数据
Intent intent = getIntent();
String action = intent.getAction();
String type = intent.getType();
if (Intent.ACTION_VIEW.equals(action) && type != null) {
// 检查文件扩展名是否是.txt
if (type.equals("text/plain")) {
Uri uri = intent.getData();
if (uri != null) {
// 处理文件
String filePath = uri.getPath();
// 执行你的文件处理逻辑
// ...
}
}
}
}
通过以上代码,你可以在MainActivity中获取关联的文件路径并执行相应的处理逻辑,而不会启动新的副本。请根据你的具体需求进行适当修改。