如何在程序包名称更改中停止应用程序?
问题描述:
我需要实现在那里,如果应用的应用包名称更改的功能,应用程序将停止即this.finish();
如何在程序包名称更改中停止应用程序?
但它无法正常工作,这里是我使用的代码 -
public void chk(){
String ucci = getApplicationContext().getPackageName();
if (ucci!=("my.package.name"))
{
//do nothing
}
else {
this.finish();
Toast.makeText(this, "Name Changed", Toast.LENGTH_LONG)
.show();
}
}
&然后我用它的onCreate像this.chk();
但不工作
答
从逻辑上讲,如果包名称等于"my.package.name"
然后finish()
称为否则没有发生。请使用!ucci.equals("my.package.name")
而不是!=
。
==
和!=
工作对象身份。虽然两个字符串具有相同的值,但它们实际上是两个不同的对象。
它不起作用。首先认为包名不能改变,其次认为是如果包名改变,那么你调用getApplicationContext()。getPackageName();它会从清单中提供软件包名称。 – vishal
它可以改变,如果你使用应用程序克隆应用程序 – DarShan
@DarShan我看到你不接受我的答案。它有问题吗? – Aryan