他のアプリが起動してる時にタッチによって別のアプリを呼び出すには

1,129 views
Skip to first unread message

baums

unread,
Nov 21, 2011, 1:32:44 PM11/21/11
to 日本Androidの会
swipe padのようなランチャーのように、他のアプリが起動していても特定の場所がタッチされた場合に呼び出す…
のような動作をさせたい場合にはどうすればようのでしょうか。

よろしくお願いします。

muracoro

unread,
Nov 23, 2011, 8:53:47 AM11/23/11
to 日本Androidの会
TYPE_SYSTEM_ALERTを設定したViewを使っているのではないかと思います。
常に前面に表示されるようになるので透明なViewを配置しておけばタッチを検出できるのではないかと。

"ss.ももんが"

unread,
Nov 25, 2011, 10:15:35 PM11/25/11
to android-g...@googlegroups.com
ssももんがです。

遅レスですが。
WindowManagerを利用して実現する事ができます。

私も同様のアプリを開発しておりますので、ソースから一部抜粋です。
LinearLayoutはこのままだとエラーになると思いますので、好きにいじってください。
LayoutParamsのフラグの意味は忘れてしまいました。1つずつ付け外しを試せば分かるかと思います。

wm = (WindowManager) getSystemService(Context.WINDOW_SERVICE);
ll = new LinearLayout(this);

WindowManager.LayoutParams lp = new WindowManager.LayoutParams(
10,
10,
WindowManager.LayoutParams.TYPE_SYSTEM_ALERT,
WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE |
WindowManager.LayoutParams.FLAG_FULLSCREEN |
WindowManager.LayoutParams.FLAG_LAYOUT_INSET_DECOR |
WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN |
WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL,
PixelFormat.TRANSLUCENT);

wm.addView(ll, lp);


また、Manifestに以下のpermissionを付与する必要があります。

<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>





--
このメールは Google グループのグループ「日本Androidの会」の登録者に送られています。
このグループに投稿するには、android-g...@googlegroups.com にメールを送信してください。
このグループから退会するには、android-group-j...@googlegroups.com にメールを送信してください。
詳細については、http://groups.google.com/group/android-group-japan?hl=ja からこのグループにアクセスしてください。


baums

unread,
Nov 26, 2011, 1:20:39 PM11/26/11
to 日本Androidの会
こんにちは。
遅レスになってしまいましたが、muracoroさん、ssももんがさんレスありがとうございました。
無事やりたいことが出来ました!
この度はありがとうございました。
Reply all
Reply to author
Forward
0 new messages