![](/img/trans.png)
[英]how to resolve this error "com.android.internal.telephony cannot be resolved to a type" in android
[英]Telephony cannot be resolved
我在BroadcastReceiver中使用了此代码,但此处无法解决电话问题。 如何在BroadcastReceiver中使用Telephony? 我认为这是因为在BroadcastReceiver中使用了它。
public class SmsFilter extends BroadcastReceiver {
SharedPreferences preferences = null ;
Context context;
static ContentResolver ctx;
String text;
@Override
public void onReceive(final Context context, Intent intent) {
if(android.os.Build.VERSION.SDK_INT>= 4.0){
Log.i("LOG", "this is: "+Build.VERSION.RELEASE);
final String myPackageName = context.getPackageName();
if (!Telephony.Sms.getDefaultSmsPackage(this).equals(myPackageName)) {
// App is not default.
// Show the "not currently set as the default SMS app" interface
View viewGroup = findViewById(R.id.not_default_app);
viewGroup.setVisibility(View.VISIBLE);
// Set up a button that allows the user to change the default SMS app
Button button = (Button) findViewById(R.id.change_default_app);
button.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
Intent intent =
new Intent(Telephony.Sms.Intents.ACTION_CHANGE_DEFAULT);
intent.putExtra(Telephony.Sms.Intents.EXTRA_PACKAGE_NAME,
myPackageName);
context.startActivity(intent);
}
});
} else {
// App is the default.
// Hide the "not currently set as the default SMS app" interface
View viewGroup = findViewById(R.id.not_default_app);
viewGroup.setVisibility(View.GONE);
}
}}}
代替Telephony.Sms.getDefaultSmsPackage(this)
您需要Telephony.Sms.getDefaultSmsPackage(context)
。 在您的情况下, this
是指BroadcastReceiver
,并且该方法需要一个context
参数。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.