Pending intent not detecting onCreate

by jrgraf...@googlemail.com » Wed, 29 Apr 2009 08:19:21 GMT


Sponsored Links
 I have the following code in a static function in my application
widget:

                Intent defineIntent = new Intent(context,
ToggleIntentActivity.class);
                PendingIntent pendingIntent = PendingIntent
                                .getActivity(context, 0, defineIntent, 0);

                views.setOnClickPendingIntent(R.id.icon, pendingIntent);

                // Tell the widget manager
                appWidgetManager.updateAppWidget(appWidgetId, views);

custom activity's based on user clicks on your widgets. However even
though Logcat says Starting Activity: Intent {......} my activities on
create function never gets called!

Note my Activity is as follows:

public class ToggleIntentActivity extends Activity {
        @Override
        protected void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);
                Log.e(QuickerCutWidgetManager.TAG, "On create");
        }
}


Any ideas?
--~--~---------~--~----~------------~-------~--~----~



Pending intent not detecting onCreate

by jrgraf...@googlemail.com » Wed, 29 Apr 2009 08:52:16 GMT


 As a side note I also tried using LayoutInflator and attaching an
onClickListener to the imageview manually, but that failed to
recognise any events. Im guessing here that changes made via a
layoutinflator will not be picked up by remote views which later use
that layout?

On Apr 29, 1:19am, "jrgraf...@googlemail.com"


--~--~---------~--~----~------------~-------~--~----~


Sponsored Links


Pending intent not detecting onCreate

by Jeff Sharkey » Wed, 29 Apr 2009 11:41:27 GMT


 Hmm, not sure exactly why it isn't working.  Because you can't know
the state of the remote AppWidgetHostView holding your widget, you
should package up all operations each time you push an update.  You
said in logcat it looks like it's trying to start the activity, could
you paste the couple of lines surrounding that?

Also, if you don't have an <intent-filter> inside the Activity
definition in your manifest, you might need to add the
android:exported="true" flag.

j

On Tue, Apr 28, 2009 at 5:52 PM, jrgraf...@googlemail.com






-- 
Jeff Sharkey
jshar...@google.com

--~--~---------~--~----~------------~-------~--~----~



Pending intent not detecting onCreate

by jrgraf...@googlemail.com » Wed, 29 Apr 2009 18:40:36 GMT


 hanks for your reply Jeff,

Turns out what I really needed to do here was learn how Intent based
programming on Android works and how to actually implement it! What I
was missing here was actually declaring the activity in the Android
XML (I assumed that activities only had to be declared if they were
actually going to display something).

Still though I would be really nice if I could get direct access to
Button Widgets via LayerInflator so that I can directly manipulate the
background of the button, unfortunately the following seems to have no
effect:

LayoutInflater inflater = (LayoutInflater) context

.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View view = inflater.inflate(R.layout.widget_layout, null);

Button button = (Button) view.findViewById(R.id.ToggleButton);
button.setBackgroundResource(R.drawable.airplaneoff);

RemoteViews views = new RemoteViews(context.getPackageName(),
R.layout.widget_layout);

Intent defineIntent = new Intent(context, ToggleActivity.class);
defineIntent.putExtra("toggle", toggle);
PendingIntent pendingIntent =
PendingIntent.getActivity(context, 0,
defineIntent, Intent.FLAG_ACTIVITY_NEW_TASK);

views.setOnClickPendingIntent(R.id.ToggleButton, pendingIntent);

// Tell the widget manager
appWidgetManager.updateAppWidget(appWidgetId, views);

No big deal tho since I can always use an ImageView and call
RemoteViews.setImageViewBitmap(id)

On Apr 29, 4:25am, Jeff Sharkey <jshar...@android.com> wrote:
--~--~---------~--~----~------------~-------~--~----~



Pending intent not detecting onCreate

by Jeff Sharkey » Thu, 30 Apr 2009 03:45:25 GMT


 ight, that wouldn't have an effect because your inflated layout is a
completely different copy from the one inflated by the home screen.

Also, I noticed that your using "putExtra" in your PendingIntents. Be
sure to use the FLAG_CANCEL_CURRENT flag when calling getActivity() to
make sure your extras are updated correctly. And be aware that you
can only have one set of extras for any given PendingIntent
action+data+category+component pair.

If you're trying to change the background of a button, you could use
this slightly-hacky approach: set the button background to a leveled
drawable, and then use setDrawableParameters() to change the level and
show the desired background.

You'd probably want to keep the number of layers to a minimum to keep it speedy.

j


On Wed, Apr 29, 2009 at 3:40 AM, jrgraf...@googlemail.com
<jrgraf...@googlemail.com> wrote:



--
Jeff Sharkey
jshar...@google.com

--~--~---------~--~----~------------~-------~--~----~



Pending intent not detecting onCreate

by jrgraf...@googlemail.com » Thu, 30 Apr 2009 05:31:13 GMT


 hanks for your help Jeff, its finally starting to make a lot more
sense now!

-James

On Apr 29, 6:43pm, Jeff Sharkey <jshar...@android.com> wrote:
--~--~---------~--~----~------------~-------~--~----~



Other Threads

1. Need Help : canvas.drawtext() for a lengthy string

Hi All

I am stuck in a very simple problem.

I have one lengthy string & I need to draw that on the device display.

My code is as follows:

void ShowText(String text) {
                 canv = thread.mSurfaceHolder.lockCanvas();     

                        if (text!= null) {
                        
                                canv.drawColor(Color.WHITE); //background color
                                mPaint.setColor(Color.BLACK); //font color
                                mPaint.setTextSize(15);         //font size     
        
                                canv.drawText(text, 10, 200, mPaint);           
                //startign at some
(10,200) coordinates , dratext
                        }

             unlockCanvasAndPost(canv);
        }

But the problem here is, the string is going out of the screen. I want
it to break down into multiple lines if it is too big for the screen
width.

Can anybody show me some example to do this?

Thanks
Latha

2. Acer Liquid Kernel

Acer is obliged to release the kernel source code for the Liquid (A1)
phone. We want to get their attention and are asking them to publish
it. Please sign the petition!
http://www.petitionspot.com/petitions/AcerLiquid/

3. How to build a custom view

4. AlarmManager and the PendingIntent that failed

5. Setting up Netbeans with Android SDK

6. How to open web pages from emulator anyway?

7. emulator: ERROR note