1

Android ダウンロードで提供されているサンプル アプリを使用して、onCreate() メソッドで api.disableBumping() を使用して、broadcastreceiver を追加しますが、追って通知があるまでバンプを無効にします。アプリケーションがクラッシュし続けます。

ポインタはありますか?

public void onCreate(Bundle savedInstanceState)
{
    super.onCreate(savedInstanceState);
    requestWindowFeature(Window.FEATURE_NO_TITLE);
    getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, 
            WindowManager.LayoutParams.FLAG_FULLSCREEN);

    setContentView(R.layout.main);

    bindService(new Intent(IBumpAPI.class.getName()),
                connection, Context.BIND_AUTO_CREATE);

    IntentFilter filter = new IntentFilter();
    filter.addAction(BumpAPIIntents.CHANNEL_CONFIRMED);
    filter.addAction(BumpAPIIntents.DATA_RECEIVED);
    filter.addAction(BumpAPIIntents.NOT_MATCHED);
    filter.addAction(BumpAPIIntents.MATCHED);
    filter.addAction(BumpAPIIntents.CONNECTED);
    registerReceiver(receiver, filter);

    try {
        api.disableBumping();
    } catch (RemoteException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }


}

デバッグ情報

Thread [<1> main] (Suspended (exception RuntimeException))  
ActivityThread.performLaunchActivity(ActivityThread$ActivityClientRecord, Intent) line: 1816    
ActivityThread.handleLaunchActivity(ActivityThread$ActivityClientRecord, Intent) line: 1837 
ActivityThread.access$1500(ActivityThread, ActivityThread$ActivityClientRecord, Intent) line: 132   
ActivityThread$H.handleMessage(Message) line: 1033  
ActivityThread$H(Handler).dispatchMessage(Message) line: 99 
Looper.loop() line: 143 
ActivityThread.main(String[]) line: 4196    
Method.invokeNative(Object, Object[], Class, Class[], Class, int, boolean) line: not available [native method]  
Method.invoke(Object, Object...) line: 507  
ZygoteInit$MethodAndArgsCaller.run() line: 839  
ZygoteInit.main(String[]) line: 597 
NativeStart.main(String[]) line: not available [native method]
4

1 に答える 1

0

以下の行では、Bumpのロジックがどのように機能するかを説明しています。

電話するとき

bindService(new Intent(IBumpAPI.class.getName()), connection, Context.BIND_AUTO_CREATE);   

onServiceConnectedが呼び出され、それを呼び出すことができます

    api = IBumpAPI.Stub.asInterface(binder);

    try  { api.configure("YOUR_API_KEY", "Bump User"); }
    catch (RemoteException e)  { } 

次に、ブロードキャストCONNECTEDが受信されるまで待機します。その時点以降、api.enableBumping()またはapi.disableBumping()をいつ呼び出すかはユーザー次第です。

注:api.configure()を呼び出すときに接続がダウンしている場合、リモート例外がスローされます。

于 2012-11-21T01:37:18.443 に答える