Sms 安卓:点击按钮将短信应用设置为默认
参考。我在menifest中写了这段代码,这对我来说很好。。。但我想将我的应用程序设置为包括kitkat在内的所有android版本的默认点击事件。有人能帮我吗 正如在kitkat中通过以下意图所做的:Sms 安卓:点击按钮将短信应用设置为默认,sms,default,Sms,Default,参考。我在menifest中写了这段代码,这对我来说很好。。。但我想将我的应用程序设置为包括kitkat在内的所有android版本的默认点击事件。有人能帮我吗 正如在kitkat中通过以下意图所做的: if (! Telephony.Sms.getDefaultSmsPackage(this).equals(myPackageName) ) { // App is not default. // Show the "not currently
if (! Telephony.Sms.getDefaultSmsPackage(this).equals(myPackageName) ) {
// App is not default.
// Show the "not currently set as the default SMS app" interface
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setMessage("Yelo is not your default messaging app. Do you want to set it default?")
.setCancelable(false)
.setTitle("Alert!")
.setNegativeButton("No", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
}
})
.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
Intent intent =new Intent(Telephony.Sms.Intents.ACTION_CHANGE_DEFAULT);
intent.putExtra(Telephony.Sms.Intents.EXTRA_PACKAGE_NAME,getPackageName());
startActivity(intent);
}
});
builder.show();
}
就这样。。。我想对所有android版本都这么做。默认短信应用程序的概念是从KitKat开始的,所以以前的版本没有这样的功能。但它是在“Hello”短信应用程序中完成的。如果我们点击hello作为默认短信应用程序,它将被设置为默认,否则即使你的android版本低于kitkat。我已经在menifest中将receiver的优先级设置为max,这很好。。。但我不知道如何在Java类中而不是在menifest中动态地设置接收器的优先级。