Okay Thanks. In regards to having a Context to call startActivity(),
does it make sense to move the SoundNotification to the
ServiceReceiver as shown below? I can't seem to basically call a
subroutine.
public class ServiceReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
MyPhoneStateListener phoneListener=new MyPhoneStateListener();
TelephonyManager telephony = (TelephonyManager)
context.getSystemService(Context.TELEPHONY_SERVICE);
telephony.listen
(phoneListener,PhoneStateListener.LISTEN_CALL_STATE);
Intent i = new Intent
("com.bnet.detectmissedcall.SoundNotification");
context.startActivity(i);
}
}
-----------------
public class SoundNotification extends Activity
{
private static final int NOTIFY_ME_ID=1337;
private Timer timer=new Timer();
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
TimerTask task=new TimerTask()
{
public void run()
{
notifyMe();
}
};
timer.schedule(task, 5000);
}
private void notifyMe()
{
final NotificationManager
mgr=(NotificationManager)getSystemService(NOTIFICATION_SERVICE);
Notification note=new Notification(R.drawable.icon,
"Status message!", System.currentTimeMillis());
note.vibrate = new long[] { 100,200,150, 500 };
note.defaults = Notification.DEFAULT_ALL;
PendingIntent i=PendingIntent.getActivity(this,
0,
new Intent(this,
SoundNotification.class), 0);
note.setLatestEventInfo(this, "Notification
Title", "This is the notification message", i);
mgr.notify(NOTIFY_ME_ID, note);
}
}
On Mar 2, 2:17 pm, Marco Nelissen <[email protected]> wrote:
> That won't work, because your PhoneStateListener is going to disappear
> as soon as (or shortly after) you return from onReceive().
> You should have your receiver start a Service that hosts the
> PhoneStateListener.
>
>
>
> On Mon, Mar 2, 2009 at 12:03 PM, Bnet <[email protected]> wrote:
>
> > Following is the receiver
>
> > import android.content.BroadcastReceiver;
> > import android.content.Context;
> > import android.content.Intent;
> > import android.telephony.PhoneStateListener;
> > import android.telephony.TelephonyManager;
>
> > public class ServiceReceiver extends BroadcastReceiver {
>
> > �...@override
> > public void onReceive(Context context, Intent intent) {
> > MyPhoneStateListener phoneListener=new
> > MyPhoneStateListener();
> > TelephonyManager telephony = (TelephonyManager)
> > context.getSystemService(Context.TELEPHONY_SERVICE);
> > telephony.listen
> > (phoneListener,PhoneStateListener.LISTEN_CALL_STATE);
>
> > }
> > }
>
> > On Mar 2, 1:55 pm, Marco Nelissen <[email protected]> wrote:
> >> On Mon, Mar 2, 2009 at 11:49 AM, Bnet <[email protected]> wrote:
>
> >> > Thanks for your time Marco, added the following to the manifest. There
> >> > is an error in MyPhoneStateListener as shown below:
>
> >> > <activity android:name=".SoundNotification">
> >> > <intent-filter>
> >> > <action
> >> > android:name="android.intent.action.SoundNotification" />
>
> >> You should use the same string here that you use for the intent
> >> action, i.e. "com.bnet.detectmissedcall.SoundNotification"
>
> >> > </intent-filter>
> >> > </activity>
>
> >> > Error: The method startActivity(Intent) is undefined for the type
> >> > MyPhoneStateListener
>
> >> > Intent i = new Intent("com.bnet.detectmissedcall.SoundNotification");
> >> > startActivity(i);
>
> >> You will need to have a Context to call startActivity() on. It's not
> >> clear to me how you create your PhoneStateListener, but the Activity
> >> or Service that you create it in should have a Context for you to use.-
> >> Hide quoted text -
>
> - Show quoted text -
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en
-~----------~----~----~----~------~----~------~--~---