実現したいこと
私は、大量にあるスマホ決済アプリをまとめるためのAndroidアプリを作っています。
殆どのスマホ決済アプリは機能が独立しているので、MainActivityを立ちあげれば事足りるんですが、LINEやメルペイのように別の機能があるアプリでは決済画面までにプロセスがあるので、直接決済画面を開きたいんです。
試したこと
起動させたいものの1つにLINEアプリ内にある、ユーザー側のLINE Payの支払画面があるのですが、それっぽいActivityのクラスを探して起動させてみてもエラーが出て落ちます。
Kotlin
1val intent = Intent().apply { 2 setClassName("jp.naver.line.android", "jp.naver.line.android.activity.linepay.LinePayLaunchActivity") 3} 4startActivity(intent)
エラーメッセージ
java.lang.SecurityException: Permission Denial: starting Intent { flg=0x10000000 cmp=jp.naver.line.android/.activity.linepay.LinePayLaunchActivity } from ProcessRecord{7e1efe9d0 7419:(パッケージ名)/u0a463} (pid=7419, uid=10463) requires jp.naver.line.android.permission.LINE_ACCESS
また、メルペイに至ってはボトムナビゲーションで画面遷移をしているので、デフォルトでメルペイの画面になっているようにする方法がわかりません。Intent.putExtra()か何かで値を渡すのだと思いますが。
どちらも正規の方法があると思いますが、検索しても出てきません。わかる方、教えてください!
加盟店であれば起動方法は共有されているかもしれませんが加盟店ではないのですか?
そもそも開発中のアプリでどのようなユースケースを想定しているのでしょうか。
すみません、私の言い方だと殆どの場合加盟店側の話になりますね…
私は、乱立するスマホ決済アプリをまとめるアプリを作っています。そしてアプリを起動する際、ほかのスマホ決済はMainActivityが支払い画面になっているので普通に起動できますが、LINEのように余計な機能があるアプリは直接支払い画面が開けません。そこで、直接支払い画面を開けるようにしたいんです。
https://play.google.com/store/apps/details?id=com.masaibar.payholder
ここに似たようなアプリ(インスパイア先)があるんですが、このアプリだと直接支払い画面が開けているので、方法があると思ったんですが…
回答1件
あなたの回答
tips
プレビュー