0

GCMメッセージが表示されないという問題があります。ポップアップやサウンドを再生したくありません。ブロードキャストレシーバーのonReceive()メソッドも起動しません。これは、私の理解では、アプリケーションがメッセージを処理する最初のポイントです。

私の最大の問題は、エラーメッセージやヒントが表示されないことです。メッセージを送信すると、メッセージID、マルチキャストID、および「success=1」メッセージが表示されます。また、「任意のデバイスに登録されたデバイスとReg ID、アプリを2回実行する「登録済み」」が表示されます。デバイスはGoogleAPIコンソールと同じアカウントでGooglePlayにもログインしています。ただし、 GCMメッセージを送信するときのデバイス。

完全なAndroidマニフェストを投稿します。さらにコードが必要な場合は、お知らせください。これは私の狂気を駆り立てています。

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.lottoapplicationandroid"
android:versionCode="1"
android:versionName="1.0"
android:installLocation="auto"
 >

<uses-sdk
    android:minSdkVersion="9"
    android:targetSdkVersion="9" />

<supports-screens 
android:largeScreens="true" 
android:normalScreens="true" 
android:smallScreens="true" 
android:resizeable="true" 
android:anyDensity="true" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.RECEIVE_SMS" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
<uses-permission android:name="android.permission.READ_CONTACTS" />
<uses-permission android:name="android.permission.WRITE_CONTACTS" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="android.permission.BROADCAST_STICKY" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.FLASHLIGHT" />
<permission android:name="com.lottoapplicationandroid.permission.C2D_MESSAGE"     android:protectionLevel="signature" />
<uses-permission android:name="com.lottoapplicationandroid.permission.C2D_MESSAGE" /> 
<!-- App receives GCM messages. -->
<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
<!-- GCM connects to Google Services. -->
<uses-permission android:name="android.permission.INTERNET" /> 
<!-- GCM requires a Google account. -->
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<!-- Keeps the processor from sleeping when a message is received. -->
<uses-permission android:name="android.permission.WAKE_LOCK" />
<application
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme" >
    <activity
        android:name=".MainActivity"
        android:label="@string/title_activity_main"
        android:configChanges="orientation|keyboardHidden" 
        android:screenOrientation="portrait">

        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>

    <!-- ZXing activities -->
<activity android:name="com.google.zxing.client.android.CaptureActivity"
          android:screenOrientation="landscape"
          android:configChanges="orientation|keyboardHidden"
          android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
          android:windowSoftInputMode="stateAlwaysHidden">
  <intent-filter>
    <action android:name="com.phonegap.plugins.barcodescanner.SCAN"/>
    <category android:name="android.intent.category.DEFAULT"/>
  </intent-filter>
</activity>
<activity android:name="com.google.zxing.client.android.encode.EncodeActivity" android:label="@string/share_name">
  <intent-filter>
    <action android:name="com.phonegap.plugins.barcodescanner.ENCODE"/>
    <category android:name="android.intent.category.DEFAULT"/>
  </intent-filter>
</activity>


<receiver android:name="com.google.android.gcm.GCMBroadcastReceiver" android:permission="com.google.android.c2dm.permission.SEND" >
<intent-filter>
 <action android:name="com.google.android.c2dm.intent.RECEIVE" />
 <action android:name="com.google.android.c2dm.intent.REGISTRATION" />
 <category android:name="com.lottoapplicationandroid" />
</intent-filter>
</receiver>

<service android:name=".GCMIntentService" />

</application>

編集

不可能な場合、私はこれに対する解決策を必要としません。何が悪いのかを見つける方法のヒントにとても感謝しています。たとえば、ポート5228を開く必要があることがわかりました。デバイスがそのポートでリッスンしているかどうかを確認する方法を知っている人はいますか?

4

3 に答える 3

3

問題は解決しました。

Wi-Fiをオフにしなければなりませんでした。

WiFi/電話-ネットワーク

オフ/オフ:機能しない

オン/オフ:機能しない

オン/オン:機能していません

オフ/オン:作業中

于 2012-09-06T09:44:39.317 に答える
0

レシーバー用のインテントフィルターが不足していませんか?

 <receiver android:name="com.google.android.gcm.GCMBroadcastReceiver" android:permission="com.google.android.c2dm.permission.SEND" >
      <intent-filter>
          <action android:name="com.google.android.c2dm.intent.RECEIVE" />
          <category android:name="com.lottoapplicationandroid" />
      </intent-filter>
      <intent-filter>
          <action android:name="com.google.android.c2dm.intent.REGISTRATION" />
          <category android:name="com.lottoapplicationandroid" />
      </intent-filter>
 </receiver>
于 2012-09-06T06:26:23.937 に答える
0
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    <uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" />
    <uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
    <uses-permission android:name="packagename.permission.C2D_MESSAGE" />     

   <receiver
                    android:name=".MyBroadcastReceiver"
                    android:permission="com.google.android.c2dm.permission.SEND" >
                    <intent-filter>
                        <action android:name="com.google.android.c2dm.intent.RECEIVE" />
                        <action android:name="com.google.android.c2dm.intent.REGISTRATION" />

                        <category android:name="packagename" />
                    </intent-filter>
                </receiver>

      <service android:name="Packagename.MyIntentService" >
            </service>


Try it hope so it works.
于 2014-07-07T05:01:14.633 に答える