Trigger.io を介して Android に Web アプリをデプロイしようとしています。アプリは最初はなんとかロードできましたが、アプリ経由でリモート サーバーにアクセスできませんでした。リモート サーバー経由でログインしようとしたときにエラーが発生しました (以下を参照)。
次のコードを使用して、ユーザー名とパスワードの値をリモートサーバーに送信しています
$.post "#{window.Public.domain}/users/login",
nickname: $('input.username').val()
password: $('input.password').val()
同じアプリを IOS にデプロイしましたが、問題なく動作しました。つまり、同じリモート サーバーへのアクセスは問題ではありませんでした。
iOS環境では問題がないのに、Android環境ではリモートサーバーにアクセスできない理由を知っている人はいますか?
参照用のマニフェストの添付
<manifest xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" package="io.trigger.forge9b9f8cdedc7f11e2bd4912313d00dc45" android:installLocation="auto" android:versionCode="1374544692" android:versionName="0.1">
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-sdk android:minSdkVersion="5" android:targetSdkVersion="15" />
<application android:icon="@drawable/icon" android:label="Fulfilled" android:name="io.trigger.forge.android.core.ForgeApp">
<activity android:configChanges="mcc|mnc|locale|touchscreen|keyboardHidden|navigation|orientation|screenLayout|uiMode|fontScale|screenSize" android:launchMode="singleTask" android:name="io.trigger.forge.android.core.ForgeActivity" android:stateNotNeeded="true" android:theme="@android:style/Theme.Black.NoTitleBar">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<provider android:authorities="io.trigger.forge9b9f8cdedc7f11e2bd4912313d00dc45" android:exported="true" android:name="io.trigger.forge.android.core.ForgeContentProvider" tools:ignore="ExportedContentProvider" />
</application>
アップデート:
$.post から forge.request に変更するという James の提案を試してみました。
サーバーを呼び出そうとすると、このエラーが返されます
[警告] java.net.ConnectException: localhost/127.0.0.1:9000 - 接続が拒否されました [警告] at org.apache.harmony.luni.net.PlainSocketImpl.connect(PlainSocketImpl.java:254) [警告] at org.apache .harmony.luni.net.PlainSocketImpl.connect(PlainSocketImpl.java:533) [警告] java.net.Socket.connect(Socket.java:1055) で [警告] org.apache.harmony.luni.internal.net で.www.protocol.http.HttpConnection.(HttpConnection.java:62) [警告] org.apache.harmony.luni.internal.net.www.protocol.http.HttpConnectionPool.get(HttpConnectionPool.java:88) で
サーバー投稿用にアプリで指定したドメインはそのままです
forge.request.ajax
url: "http://localhost:9000/users/login.json"
type: "POST"
data:
nickname: $('input.username').val()
password: $('input.password').val()
上記は、IOS 展開で機能します。私が世話をする必要がある他の設定はありますか?