【发布时间】:2015-10-16 06:10:18
【问题描述】:
我在 BroadcastReceiver 中使用了此代码,但此处无法解析 Telephony。如何在 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);
}
}}}
【问题讨论】:
标签: android eclipse broadcastreceiver telephony