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. Provide the security for SDCARD files

Hi All,

   In my application 'x' there is a download manager which downloads
a.mp3,b.mp3... and stored in the /sdcard/x/a.mp3.

How to provide the security only my application can access the downloaded
files not to the other applications?

Is there any API provided by android or any other solution?

-- 
Thanks & Regards
B.NagaRaju
Software Engineer
9966990732
WWW.arijasoft.com

-- 

2. Android application upgrade scenario

I have a pre-installed application on device, when user upgrades
application on pre-installed application, i want to show alert
something similar change log when user opens the application. In pre-
installed application, it's not  storing any version specific
information.Is there any way to recognize user is upgraded from the
pre-installed application?

I registered for PACKAGE_ADDED, PACKAGE_REMOVED and PACKAGE_REPLACED
intents. I am able to receive those intents when i try read the
version name it's not able read the version name when application is
removed. Any suggestions please?

-- 

3. MapActivity (MapView) Problem

4. USB Host Support (USB mass storage)

5. New to Android and programming

6. Contents of List view (using a cursor adapter) are not updated \ refreshed

7. Newbie