1. ホーム
  2. Android

android start activity report android.content.res.Resources$NotFoundException: 文字列リソースID #0x0

2022-02-18 22:39:57

WeChatの共有では、コールバックコードは以下のようになります。

public class WXEntryActivity extends Activity implements IWXAPIEventHandler {
    private IWXAPI api;  
    int ERR_OK = 0;
    int ERR_USER_CANCEL = 1;
    int ERR_AUTH_DENIED = 2;
    int ERR_UNKNOWN = -1;
    
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        api = WXAPIFactory.createWXAPI(this, ConfigManager.WX_APPID, true);
        api.handleIntent(getIntent(), this);
    }

    // When WeChat sends a request to a third-party app, it will call back to this method
    @Override
    public void onReq(BaseReq req) {
        switch (req.getType()) {
        case ConstantsAPI.COMMAND_GETMESSAGE_FROM_WX:
            Intent intent = getIntent();
            System.out.println(intent.toString());
            break;
        case ConstantsAPI.COMMAND_SHOWMESSAGE_FROM_WX:
            
            break;
        default:
            break;
        }
    }


    // The response to the request sent by the third-party application to WeChat will be called back to this method
    @Override
    public void onResp(BaseResp resp) {
        int result = 0;

        switch (resp.errCode) {
        case BaseResp.ErrCode.ERR_OK:
            result = ERR_OK;
            break;
        case BaseResp.ErrCode.ERR_USER_CANCEL:
            result = ERR_USER_CANCEL;
            break;
        ERR_AUTH_DENIED:
            result = ERR_AUTH_DENIED;
            break;
        default:
            result = ERR_UNKNOWN;
            break;
        }

        Toast.makeText(this, result, Toast.LENGTH_LONG).show();

        // TODO WeChat share Call the interface after success
        this.finish();
    }





以下のようなエラーが直接報告されます。

RuntimeException: Unable to start activity ComponentInfo{com.xxx.xxx/com.xxx.wxapi.WXEntryActivity}: android.content.res.WXEntryActivity.WXEntryActivity を起動できません。Resources$NotFoundException: 文字列リソースID #0x0


最後に、それはトーストの結果がint型であることが判明したので、すぐにエラーを報告し、次のように変更する必要がありました。

Toast.makeText(this, result + "", Toast.LENGTH_LONG).show();