public void action(View view){
Intent intent = new Intent(Settings.ACTION_DEVICE_INFO_SETTINGS);
if(intent!=null) //here is my problem, it return true always
{startActivity(intent);}
else{k++;
Context context = getApplicationContext();
CharSequence mesajText = "Failed To Open! " + k;
int duration = 3;
Toast screen_message = Toast.makeText(context,mesajText,duration);
screen_message.show();
}
}如何验证我的“意图”是否具有有效的活动(打开时有效)或无效的活动(打开时应用程序崩溃)?
发布于 2018-06-24 17:33:29
if(intent!=null)将始终计算为true,因为您正在if condition之前初始化intent。如果您想检查是否可以处理Intent,请使用resolveActivity,如下所示:
Intent intent = new Intent(Settings.ACTION_DEVICE_INFO_SETTINGS);
PackageManager packageManager = getPackageManager();
if (intent.resolveActivity(packageManager) != null) {
startActivity(intent);
} else{
k++;
CharSequence mesajText = "Failed To Open! " + k;
int duration = 3;
Toast screen_message = Toast.makeText(this,mesajText,duration);
screen_message.show();
}https://stackoverflow.com/questions/51008260
复制相似问题