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();
}
}
如何验证我的“意图”是有效的活动(打开时有效)还是无效的活动(打开时发生应用崩溃)?
答案 0 :(得分:1)
if(intent!=null)
将始终求值为true
,因为您正在if condition
之前初始化意图。如果要检查是否可以处理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();
}