Android XBMC as Home Launcher
#16
(2013-05-25, 05:47)Dchizza8 Wrote: PLEASE HELP!! all i would like is to install xbmc on my android tv box and have it set as the launcher! I have no idea how to use the apk tool.. if someone could please make a link for me to download or a step by step info on how to make the xbmc apk as the launcher using windows id appreciate it allot!!
Im using a program called startup manager on my ouya and it works, sometimes when I add or remove a program I have to go into the settings and disable and reenable xbmc under the manager. https://play.google.com/store/apps/detai...W5hZ2VyIl0.
Reply
#17
Well I have done it... Here is the XBMC 12.2 has Home Launcher.
Is working perfectly on my MK809III
Enjoy it. Wink

Download:
XBMC Has Home Launcher
Reply
#18
thank you Amoulier, I am gonna try this Smile
Reply
#19
my server automatically downloads nightlies of XBMC, adds home launcher functionality (you can then select it in the standard launcher choice), also adds kiosk mode to confluence.

you can download it here: http://tv.100dola.eu/xbmc/mod
Reply
#20
(2013-04-16, 14:08)momo Wrote: I just created a guisettings.xml copy (do it when you have all configurations in it), and renamed it to advancedsettings.xml (also in the file...) and it helped...
PS Why you just dont install XBMC Linux on your Geniatech ATV1200...http://www.geniatech.com/news/linux-xbmc-system-for-geniatech-m3-models.asp

I. Can you tell me something.
Did you copy the guisettings.xml and renamed it advancedsettings.xml or you delete it and only left the new advancedsettings.xml ?
Thanks
Reply
#21
how about source code to go with those binaries ?
Reply
#22
(2013-12-22, 17:42)pajopasa Wrote:
(2013-04-16, 14:08)momo Wrote: I just created a guisettings.xml copy (do it when you have all configurations in it), and renamed it to advancedsettings.xml (also in the file...) and it helped...
PS Why you just dont install XBMC Linux on your Geniatech ATV1200...http://www.geniatech.com/news/linux-xbmc-system-for-geniatech-m3-models.asp

I. Can you tell me something.
Did you copy the guisettings.xml and renamed it advancedsettings.xml or you delete it and only left the new advancedsettings.xml ?
Thanks

I cannot make edited XBMC.APK to load customized guisettings.xml. It only loads the default one. Can you please explain a little more in detail what you did and where the files should go? Thanks.
Reply
#23
Brick 
Howdy,

This was something I was keen to do so I created an up-to-date apk following the OP instructions.

At my Google Drive is the apk and my edited changes as "source" (I only extracted with the -s switch in apktool as this was all that was needed for my changes).

https://drive.google.com/folderview?id=0...sp=sharing

I offer no support on this: I am simply sharing what I modified for my own usage.

Enjoy,
Reply
#24
Brick 
I have made an update for XBMC (launcher) 13.1 Beta 2 as my trip that I am using this for is tomorrow.

Quote:https://drive.google.com/folderview?id=0...sp=sharing

Also here are the links that I found useful while working on my build

Apktool
Quote:https://code.google.com/p/android-apktool/ <-- Main site
http://connortumbleson.com/2014/02/apkto...-released/ <-- Most recent v2 beta release.
https://code.google.com/p/android-apktool/wiki/Install <-- Basic how to "install" wiki entry (note the wrapper script!)
https://code.google.com/p/android-apktoo...oolOptions <-- Commands (also available from the tool itself).

Examples of what I used (decode/build)
Code:
apktool d xbmc-13.1-Gotham_beta2-armeabi-v7a.apk
apktool b xbmc-13.1-Gotham_beta2-armeabi-v7a -o xbmc_launcher-13.1-Gotham_beta2-armeabi-v7a

AndroidManifest.xml
Quote:https://gist.github.com/daemox/dcd9bbbca8f450b3caaf

One Click Signer
Quote:http://forum.xda-developers.com/showthread.php?t=822388
Reply
#25
There should be no need to modify XBMC to make this work. Instead, do it like Google implemented their Google Experience Launcher which actually resides in the Google Search app. It simply fires an Intent to launch a hardcoded activity. I'll throw together an APK for you to try. Let me just design an icon for it first.

EDIT: I went ahead and published it in the Play Store to make it easier for people to get it.

https://play.google.com/store/apps/detai...mclauncher (might be a few hours until it shows up)

I'll probably publish the source code for it later but it simply does what I mentioned above, nothing fancy. In essence it acts as a shim.
Reply
#26
Good idea.

While you're at it, please make sure the sdcard is ready before launching xbmc, or it would start without its config.
Reply
#27
(2014-05-30, 01:06)Koying Wrote: Good idea.

While you're at it, please make sure the sdcard is ready before launching xbmc, or it would start without its config.
Not sure I can really wait for it to become ready as Android will kill the app if it sleeps on the UI thread so not really sure what I can do if it's not ready.

That is if you were referring to my app.
Reply
#28
Don't sleep, defer the launch until the intent for sdcard comes in. Same for wifi.
Reply
#29
@blunden Here is some code:

Check if sdcard is not being checked
Code:
if (!Environment.MEDIA_CHECKING.equals(Environment.getExternalStorageState()))

Create and delete a receiver for brodcast messages regarding media mounting
(If the sdcard is not yet mounted)
Code:
void startWatchingExternalStorage() {
    mExternalStorageReceiver = new BroadcastReceiver() {
      @Override
      public void onReceive(Context context, Intent intent) {
        Log.i(TAG, "Storage: " + intent.getData());
        updateExternalStorageState();
      }
    };
    IntentFilter filter = new IntentFilter();
    filter.addAction(Intent.ACTION_MEDIA_MOUNTED);
    filter.addAction(Intent.ACTION_MEDIA_REMOVED);
    filter.addAction(Intent.ACTION_MEDIA_SHARED);
    filter.addAction(Intent.ACTION_MEDIA_UNMOUNTABLE);
    filter.addAction(Intent.ACTION_MEDIA_UNMOUNTED);
    registerReceiver(mExternalStorageReceiver, filter);
  }

  void stopWatchingExternalStorage() {
    if (mExternalStorageReceiver != null)
      unregisterReceiver(mExternalStorageReceiver);
  }
Reply
#30
(2014-05-30, 04:57)davilla Wrote: Don't sleep, defer the launch until the intent for sdcard comes in. Same for wifi.
I don't know how Android reacts when the launcher is delayed like that, especially when the "launcher" is an app without a UI like this. I guess I could try Koying's approach though but I don't own any device where /sdcard is actually backed by a physical sdcard so not sure I'd see it in action.

Waiting for Wifi (which can take several seconds to come up) seems excessive. Any decent app should have no problem handling connections/disconnections so I don't see why waiting for it would be needed.

(2014-05-30, 10:03)Koying Wrote: @blunden Here is some code:

Check if sdcard is not being checked
Code:
if (!Environment.MEDIA_CHECKING.equals(Environment.getExternalStorageState()))

Create and delete a receiver for brodcast messages regarding media mounting
(If the sdcard is not yet mounted)
Code:
void startWatchingExternalStorage() {
    mExternalStorageReceiver = new BroadcastReceiver() {
      @Override
      public void onReceive(Context context, Intent intent) {
        Log.i(TAG, "Storage: " + intent.getData());
        updateExternalStorageState();
      }
    };
    IntentFilter filter = new IntentFilter();
    filter.addAction(Intent.ACTION_MEDIA_MOUNTED);
    filter.addAction(Intent.ACTION_MEDIA_REMOVED);
    filter.addAction(Intent.ACTION_MEDIA_SHARED);
    filter.addAction(Intent.ACTION_MEDIA_UNMOUNTABLE);
    filter.addAction(Intent.ACTION_MEDIA_UNMOUNTED);
    registerReceiver(mExternalStorageReceiver, filter);
  }

  void stopWatchingExternalStorage() {
    if (mExternalStorageReceiver != null)
      unregisterReceiver(mExternalStorageReceiver);
  }
So I should start it in onReceive() if the intent received matches Intent.ACTION_MEDIA_MOUNTED? I uploaded the source code to github below btw.

https://github.com/blunden/XBMCLauncher
Reply

Logout Mark Read Team Forum Stats Members Help
XBMC as Home Launcher2