Actually I am working on music player widgets, I made home widget for music player and it is working fine,but when I play any song I need to show that song image on android lock scren, I tried lockscreen widget but I didn't get it please help me
Home widget:
<receiver android:name=".widgets.HomeWidgetProvider">
<intent-filter>
<action android:name="android.appwidget.action.APPWIDGET_UPDATE"/>
</intent-filter>
<meta-data
android:name="android.appwidget.provider"
android:resource="#xml/app_widget_provider"/>
</receiver>
<?xml version="1.0" encoding="utf-8"?>
<appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android"
android:initialLayout="#layout/home_widget_layout"
android:minHeight="10dp"
android:minWidth="250dp"
android:updatePeriodMillis="1000000"
>
</appwidget-provider>
If you want to enable your widgets in lockscreen too you have to set widgetcategory to keygaurd in your manifest as:
<android:widgetCategory="keyguard|home_screen">
You can find detailed documentation in: http://developer.android.com/guide/topics/appwidgets/index.html#lockscreen
Actually Google did away with lock screen widgets in Android 5.0 (Lollipop). If you simply want to display the album art on the lock screen, then let your app implement RemoteControlClient (or MediaSession for API 21 and up)
If you want more functionality, the you can create you own interactive lock screen experience for your users with the Adenda SDK (I'm affiliated with Adenda for full disclosure)
Related
My app preview image looks like this:
How can I make it look like the WhatsApp Chat preview, small with shadow. Also other apps in my phone use the same type of preview.
My widget xml:
<?xml version="1.0" encoding="utf-8"?>
<appwidget-provider
xmlns:android="http://schemas.android.com/apk/res/android"
android:initialLayout="#layout/appwidget"
android:minHeight="40dp"
android:minWidth="320dp"
android:previewImage="#mipmap/ic_launcher"
android:updatePeriodMillis="300000" >
</appwidget-provider>
Manifest:
<receiver
android:name=".activities.MyWidgetProvider"
android:label="Example Widget">
<intent-filter>
<action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
</intent-filter>
<meta-data
android:name="android.appwidget.provider"
android:resource="#xml/widget_info" />
</receiver>
UPDATE:
Actually I have noticed this all shortcuts and not widgets, they all have this look.
You have set your launcher icon as widget preview image.
<appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android"
...
android:previewImage="#drawable/widget_preview">
</appwidget-provider>
I suggest you to make a screenshot of your widget with the emulator, which has an application (Widget Preview) for creating a preview with just the right size.
Then, you can also edit the picture if you are not satisfied.
Anyway, be sure to put it on drawable-nodpi.
Official guide to follow: https://developer.android.com/guide/topics/appwidgets/index.html#preview
For other dev experience, see this link: Android Widget: previewImage size
It seems that you have placed ic_launcher as widget previewImage
You have to make a custom image, which have large image as Alpha in background, and on it place your icon in small size on top-right corner.
I have done same thing by generating custom image for previewImage with help of photoshop and its working.
Thank you.
I've defined an upload_widget.png file for my app widget, and declared it as below in my AndroidManifest.xml. It worked fine when I first created it, but I've now made a change to the .png image files (in each of /drawable folders), synchronised the files in Android Studio, but the widget icon is not reflecting the new .png files when I re-test the app on my Galaxy S4.
When I long-press on the screen (I'm using Nova Launcher) and select "add widget" I see the correct icon in the "Choose Widget" list, but when I select it I get a different icon on the launcher - i.e. the old icon. When I run the app in a Nexus 5 emulator I get the same problem.
Any ideas??
<receiver android:name=".UploadWidget" android:icon="#drawable/upload_widget" >
<intent-filter>
<action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
</intent-filter>
<meta-data
android:name="android.appwidget.provider"
android:resource="#xml/upload_widget_info" />
</receiver>
UPDATE
Here is upload_widget_info:
<?xml version="1.0" encoding="utf-8"?>
<appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android"
android:minWidth="40dp" android:minHeight="40dp" android:updatePeriodMillis="86400000"
android:previewImage="#drawable/example_appwidget_preview"
android:initialLayout="#layout/upload_widget" android:resizeMode="horizontal|vertical"
android:widgetCategory="home_screen|keyguard"
android:initialKeyguardLayout="#layout/upload_widget"></appwidget-provider>
Your code is correct. This is a common problem on devices running Lollipop. To fix it, navigate through these steps : Settings -> Apps -> Google App -> Manage Space -> Clear Launcher Data. Your shortcuts on the homepage will disappear but the widget icon will be correct.
Source: https://code.google.com/p/android/issues/detail?id=81076&thanks=81076&ts=1417102714
So i developed a widget for android. It all worked fine when i had
default samsung ROM for my sgs3 (android 4.1),
But when i updated my android version to 4.2.2(CM10) i don't see my widget under
'Widgets' category in the android menu.
here is my manifest:
<receiver android:name="ToDoListWidget"
android:label="ToDoList"
android:icon="#drawable/icon" >
<intent-filter>
<action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
</intent-filter>
<meta-data
android:name="android.appwidget.provider"
android:resource="#xml/items_widget" />
</receiver>
and here is my appwidget-provider:
<?xml version="1.0" encoding="utf-8"?>
<appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android"
android:initialLayout="#layout/widget"
android:minHeight="100dp"
android:minWidth="320dp"
android:resizeMode="vertical"
android:updatePeriodMillis="100000" >
</appwidget-provider>
Any ideas what should i cahnge?
EDIT:
Hey, please help me with this one, it happend again right now when i
create a widget in another app.
Is the problem in my code? in my device? in my SDK?
I do believe CyanogenMod does this clever thing of moving your app to the SD card automatically if possible
And any app that is on the SD card cannot add a widget to the home screen (as when the SD card is mounted to a PC the widget would disappear and this would be "strange").
So check your app isn't on the SD card. You might want internalOnly or preferInternal in your AndroidManifest.xml
I'm attempting to react to a size change in my app. Or more specifically I'm trying to figure out when the keyboard shows up.
I've tried #Override ... onSizeChanged() of the main windows (a RelativeLayout view extension)
It gets called when I change the orientation, but not when I show/hide the keyboard.
My layout is not scrolling, so the controls at the top of my screen fall out of view, and the only way to get them back is to hide the keyboard.
I've read a pile of other sites and googled the snot out of this one, but it has me befuddled.
Oh.. I'm on a 2.1 (aka 7) build of android, and I'd like to be able to run the app on my own phone :)
Oh.. so the question. How do I catch something resembling onSize on an android device.
Try to add below to related activity in manifest.xml
android:windowSoftInputMode="adjustPan"
For Example
<activity android:name=".SignUp"
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustPan" >
<intent-filter>
<action android:name="android.intent.action.ACTIVITY" />
</intent-filter>
</activity>
I wanted to know if the phone gap allows you to lock the screen to one position and not change it's resolution when the user is turning his iphone/android device?
I'm Developing an app that is based on HTML/JS and don't want to build my UI Again when the user is turning his phone from side to side
Just To make Clear - I'm working inside the device browser with HTML/JS/Jquery
is it possible?
p.s my intention is presenting the app in portarit position
On manifest file, where you have the activities list, on activity node you should add:
<activity android:screenOrientation="portrait" ...../>
or
<activity android:screenOrientation="landscape" ...../>
depends on what you need.
You can set the orientation for your app in xcode for iPhone:
or in your android manifest file with:
<activity android:screenOrientation="portrait" .../>
or
<activity android:screenOrientation="landscape" .../>