Возможная причина 1
Действие не было объявлено.
Вы должны добавить действие к вашему AndroidManifest.xml
Вы должны добавить это к своему <application>
тег в вашем AndroidManifest.xml
:
<activity android:name="package.name.NewActivity">
<!-- Add an intent filter here if you wish -->
</activity>
Возможная причина 2
На самом деле метод onChange
не работает.
Пожалуйста, используйте код ниже, чтобы проверитьчто метод onChange действительно вызывается:
public class MyListActivity extends ListActivity {
MyContentObserver mContentObserver;
@Override
public void onCreate(Bundle onSavedInstance) {
super.onCreate(onSavedInstance);
setContentView(R.layout.calls_list);
mContentObserver = new MyContentObserver();
this.getApplicationContext().getContentResolver().registerContentObserver(CallLog.Calls.CONTENT_URI, true, mContentObserver);
}
private class MyContentObserver extends ContentObserver {
public MyContentObserver() {
super(null);
}
@Override
public void onChange(boolean selfChange) {
super.onChange(selfChange);
Log.d("MyListActivity.MyContentObserver", "onChange");
startActivity(new Intent(MyListActivity.this, NewActivity.class));
}
}
}
Вы также можете попробовать запустить действие с onCreate
, чтобы убедиться, что оно может быть запущено.