0
Thumbsup

いい質問だ

0

Thumbsdown

うーん

androidのホーム画面にアプリのショートカット作成について

tysd
tysd 0

投稿日:2015-09-03 16:29:58

初めまして、いつも参考にさせていただいています。

androidでホーム画面にアプリケーションのショートカットを
作成する方法について教えていただけたらと思います。

TiSDK:3.5.1.GA
OS:Android
OSバージョン:4.1以上
プロジェクト:Alloy

intentを送信して作成するみたいな事が各所で書かれていたので
自分なりにコードを書いて見たのですがエラーがでてしまい困っています。

tiapp.xml

<android xmlns:-----略----->
    <manifest>
        <uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT"/>
    </manifest>
</android>

alloy.js

var scIntent = Ti.Android.createIntent({
    action:Ti.Android.ACTION_MAIN,
    className:Ti.App.id + '.' + 'TestActivity'
});

var intent = Ti.Android.createBroadcastIntent({
    action:'com.android.launcher.action.INSTALL_SHORTCUT'
});
intent.putExtra(Ti.Android.EXTRA_SHORTCUT_INTENT, scIntent);
intent.putExtra(Ti.Android.EXTRA_SHORTCUT_ICON_RESOURCE, Ti.App.Android.R.drawable.appicon);
intent.putExtra(Ti.Android.EXTRA_SHORTCUT_NAME, Ti.App.name);
intent.putExtra("duplicate", false);
Ti.Android.currentActivity.startActivity(intent);

上記コードで実行したところ
Message: Uncaught Error: No Activity found to handle Intent { act=com.android.launcher.action.INSTALL_SHORTCUT (has extras) }
というエラーがでました。

アプリのショートカットをTitaniumで作成する方法をご存知でしたらご教授願います。



回答

umi_uyura
umi_uyura
140
Tcad_icon

Thumbsup

いい回答

1

Thumbsdown

うーん



試していないので詳細はわかりませんが、ちょうど以下のようなエントリがありました。

Creating Home Screen Shortcut's in Titanium

モジュールを使って解決しているようなので、ひょっとすると現状Titanium単独では実現できないのかもしれませんね。
モジュール自体はGitHubで公開されているようなので、それを使えばできそうな感じです。

モジュールの作者がTitanium本体にプルリクエストも出してくれているようなので、いずれTitanium単独で解決できるようになるかもしれません。


umi_uyura様 回答ありがとうございます。 紹介していただいたサイトとモジュールを使用することで無事にHomeにショートカットの作成ができました。 GitのReleaseにあるモジュールをダウンロードして使用する場合はモジュールのmanifestのminsdkを書き換える必要がるみたいなので、ソースを拾って自分でビルドしたほうが良さそうですね。 一応manifestのminsdkを4.1.0.GAに書き換えても問題なく動作しました。 質問した際はTiSDK:3.5.1.GAでしたが、現在は4.1.0.GAになっています。 Titanium独自で解決できる様になると楽になりますね。 ありがとうございました。 --- tysd

ログインすると回答することができます。